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