我試圖動態加載相機庫.so文件到Linux可執行文件以獲取對簡單相機功能的訪問。使用dlopen()訪問.so庫拋出未定義的符號錯誤
我試圖通過這樣做:
if ((newHandle = dlopen("./libCamera.so",RTLD_LAZY | RTLD_GLOBAL)) == NULL)
{
printf("Could not open file : %s\n", dlerror());
return 1;
}
但是這個失敗,我收到以下輸出: 「無法打開文件:libCamera.so:未定義的符號:ZTVN10 _cxxabiv117__class_type_infoE」
如何找出它所依賴的符號?
我看到'nm -DC libCamera.so'中列出的函數,但它仍然未定義。最後,事實證明,在.h文件中,其中一個參數是.cpp中的const&,它不是const,它導致它未定義。 –