2012-02-18 67 views
0

在閱讀某些庫的文檔時,我發現某些庫有一些功能,比如使用這些庫更容易編譯程序,只需在GCC參數中輸入「-something」,而不是鍵入庫的路徑或使用pkg(... -- cflag --clibs) 。如何知道哪些標記可用於GCC更容易地鏈接庫?

如何獲得那些'-something'列表,用於我的系統上當前安裝的庫或包?

例如,OpenGL的標誌: -lGLUT -lGL

他們肯定存儲在GCC的配置文件我用包管理器時安裝新的圖書館,或者GCC怎麼會知道如何使用它們?

回答

4

這些庫是而不是存儲在任何配置文件。

如果您檢查GCC link options,您將看到一個選項「-l」,用於選擇要鏈接的庫。該選項的作用是在指定的路徑中查找庫。

如果您查看文件夾/usr/lib,您將看到很多名爲/usr/lib/libgtkspell.so.0.0.0的文件。這個如果是一個名爲gtkspell的庫。通過使用-lgtkspell鏈接它,鏈接器將在搜索文件時自動添加其他部分。

pkg-config應用程序適用於編譯(--cflags)或鏈接(--libs)時需要特殊額外GCC標誌的庫。但實際標誌pkg-config增加了編譯/鏈接,只是標準的GCC標誌。

0

我想知道這些標誌,因爲我不知道給pkg什麼參數。 但我發現它是如何工作的:

在/ usr/lib/pkgconfig中有我們需要的一切。只能將這些文件中的一個放入參數中,+ --cflag和--clib。

(我不知道我是想看看/ usr/lib/pkgconfig)

相關問題