Ubuntu
共享對象安裝後去哪里以及如何找出它們的名稱
我剛剛使用以下命令安裝了 SFML 庫:
apt-get install sfml-dev
安裝後我去我的
/usr/lib
文件夾找出實際共享對象的名稱是什麼(這樣我就知道要告訴我的編譯器使用什麼)。但是那裡的名稱中沒有“SFML”。
但是,我的 /usr/include 目錄中有一個 SFML 文件夾。
那麼共享對象文件在哪裡,如果它們不在我的
/usr/lib
目錄中?我怎樣才能找到它們,以便弄清楚告訴編譯器使用什麼?
g++ *.cpp -o exe -l
?
gcc -print-search-dirs
顯示編譯器使用的所有搜尋路徑。
dpkg -L libsfml-dev
顯示包安裝的所有文件;要找到實際的庫,儘管您需要
dpkg -L
在實際包含該庫的任何包上執行(libsfml-dev
具有許多庫依賴項)。在任何情況下,現在庫通常最終都出現
/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)
在 Debian 衍生產品上,即/usr/lib/x86_64-linux-gnu
常見的 64 位 PC 上。你實際上不需要擔心你的編譯器,它已經知道在哪裡可以找到庫——你只需要弄清楚-l
要為它提供哪些參數。