0
所以我有一个静态库(MacOS,.a库)。它是用C++编写,并在它的代码一样,没有静态初始化:动态库内共享库的静态初始化器
//myclass.hpp
class MyClass {
...
static MyClass *defaultValue_;
static MyClass *newInitialDefaultValue();
...
}
...
//myclass.cpp
MyClass *MyClass::defaultValue_ = newInitialDefaultValue();
...
我连接我的图书馆名为.dylib对这个.A库。不幸的是,当我的.dylib文件被加载时,没有调用MyClass::newInitialDefaultValue()
。 可能是什么原因以及如何处理?
我试过-all_load
和-force_load
连接器标志没有运气。
非常感谢您的见解!不幸的是,这个错误发生在构建图书馆的系统中,新版本在不同的位置放置了图书馆的二进制文件,而且我还在使用旧的二进制文件。它发生... – peetonn