我有一個可執行文件和一個動態庫(.so)。該庫導出一些符號和可執行調用成功。但我想讓庫調用可執行文件的功能。我一直試圖做的可執行如下:如何從我的庫中調用可執行文件中的函數?
//test
extern "C" void print(const char * str) {
std::cout << str << std::endl;
}
,這在庫:
extern "C" void print(const char *);
,但是當我在執行調用dlopen
(加載庫),它會返回錯誤undefined symbol: print
。我該如何解決它?
@milo:我已經添加了從可執行文件導出符號的更加細緻的方式。 – ninjalj 2011-06-10 19:36:30
非常感謝!我想我最好讀一下「dso howto」,以便在共享對象中獲得更全面的知識。 – milo 2011-06-11 06:14:48
對其他主要平臺的幾句話會很好。 – ManuelSchneid3r 2017-01-10 21:40:20