2010-09-06 49 views
0

我用C++編寫的應用程序使用sfml庫,但我在Eclipse中設置庫時遇到問題。我指定了包含路徑,lib路徑幷包含了所有需要鏈接的.so庫。該應用程序編譯得很好,但它在運行時抱怨丟失的庫。這是爲什麼發生?我沒有在項目設置中包含庫的路徑嗎?我甚至試圖將所有.so文件放在可執行文件目錄中,但沒有運氣。eclipse sfml庫問題

回答

0

只有存儲在可執行文件中的共享庫的名稱。在程序啓動時,動態鏈接程序會在其搜索路徑中搜索指定的庫。您可以通過將冒號分隔在環境變量LD_LIBRARY_PATH中或通過在/etc/ld.so.conf中指定搜索路徑來添加/指定搜索路徑(至少如果您使用某些基於Unix的操作系統)。在Windows上,搜索動態鏈接庫(DLL)時使用整個PATH環境變量。

查看給定應用程序使用的共享庫路徑ldd applicationPath

+0

所以我運行了這個命令,它說我試圖鏈接到的庫在/ usr/local/lib中。爲什麼是這樣?在定義了該路徑的eclipse項目設置中沒有選項。我怎樣才能讓它在項目文件夾中查找共享庫? – TheFuzz 2010-09-06 18:30:07

+0

也許你必須像這樣啓動它(假設應用程序名是appname):LD_LIBRARY_PATH =。 ./appname – Elrohir 2010-09-06 21:37:50