dlopen的undefined symbol 解決

自己編譯了一下so,在程序裏使用dlopen來調用。但是dlopen總是返回失敗,使用dlerror查看錯誤原因,發現undefined symbol 原因造成的。

對so使用ldd -r命令發現很多undefined symbol的函數。

undefined symbol: _ZN6apache6thrift9transport7TSocket14setSendTimeoutEi (./libpersonalize.so)

檢查cmake的腳本,發現沒有把鏈接的的庫,放到鏈接庫列表中。修改cmake腳本,把需要的庫放到鏈接庫列表,就ok了。

發佈了27 篇原創文章 · 獲贊 13 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章