dlsym () возвращает символ не найден

Я использую OS X 10.7 (Lion), XCode 4.6.3 и libstdc ++ в качестве стандартной библиотеки C ++.

У меня есть этот код в моем основном проекте:

shared.cpp:

extern "C" int sharedFun()
{
return 5;
}

И это в моем проекте стороны, который должен динамически загружать основной:

loader.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)
{
....
}
}

нм выход:

nm -gU mainApp.dylib | grep sharedFun
002a3a10 - 01 0000   FUN _sharedFun
002a3a10 T _sharedFun

dlopen прекрасно загружает библиотеку, но dlsym возвращает «символ не найден».
Есть идеи?

Благодарю.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]