最近的字体问题,有点怪:
- 系统库叫freetype,吾库叫tsfreetype。
- 执行程序先freetype,随后在使用时加载tsfreetype。功能出错。
- 使执行程序强制依赖tsfreetype,功能正常。
为什么出错?因为两个库有同名函数。你在调用的时候,系统按照先入为主的原则搜索。这听起来是正常的。 碰到这种情况,通过函数改名即可解决。
我们来看另外一个例子:
- freetype库,B函数,调用C。
- tsfreetype库,D函数,调用C。
现在问,D函数调用C,C是哪个?测试后,结论是不一定:
- 在KYLIN上,优先在本库中搜索。
- 在UOS上,原则依然是先加载的库优先。这就悲剧了,因为这个时候已经乱七八糟,结果不可预料。
这个问题怎么解决呢?改变加载库顺序。强制依赖,指定搜索路径。参考其他博文。