所以我有一个静态库(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
链接器标志。