Tsu*_*ury 5 c++ macos xcode dynamic-loading dlsym
我使用 OS X 10.7 (Lion)、XCode 4.6.3 和 libstdc++ 作为 C++ 标准库。
我的主项目中有这段代码:
共享.cpp:
extern "C" int sharedFun()
{
return 5;
}
Run Code Online (Sandbox Code Playgroud)
在我的副项目中,需要动态加载主项目:
加载器.cpp:
#include <dlfcn.h>
int main(int argc, const char * argv[])
{
void* mainApp = dlopen("mainApp.dylib", RTLD_LAZY);
char* error;
dlsym(mainApp, "sharedFun");
if ((error = dlerror()) != nullptr)
{
....
}
}
Run Code Online (Sandbox Code Playgroud)
纳米输出:
nm -gU mainApp.dylib | grep sharedFun
002a3a10 - 01 0000 FUN _sharedFun
002a3a10 T _sharedFun
Run Code Online (Sandbox Code Playgroud)
dlopen 加载库很好,但 dlsym 返回“符号未找到”。有任何想法吗?
谢谢。
| 归档时间: |
|
| 查看次数: |
4382 次 |
| 最近记录: |