在閱讀某些庫的文檔時,我發現某些庫有一些功能,比如使用這些庫更容易編譯程序,只需在GCC參數中輸入「-something
」,而不是鍵入庫的路徑或使用pkg(... -- cflag --clibs
) 。如何知道哪些標記可用於GCC更容易地鏈接庫?
如何獲得那些'-something
'列表,用於我的系統上當前安裝的庫或包?
例如,OpenGL的標誌: -lGLUT -lGL
他們肯定存儲在GCC的配置文件我用包管理器時安裝新的圖書館,或者GCC怎麼會知道如何使用它們?
在閱讀某些庫的文檔時,我發現某些庫有一些功能,比如使用這些庫更容易編譯程序,只需在GCC參數中輸入「-something
」,而不是鍵入庫的路徑或使用pkg(... -- cflag --clibs
) 。如何知道哪些標記可用於GCC更容易地鏈接庫?
如何獲得那些'-something
'列表,用於我的系統上當前安裝的庫或包?
例如,OpenGL的標誌: -lGLUT -lGL
他們肯定存儲在GCC的配置文件我用包管理器時安裝新的圖書館,或者GCC怎麼會知道如何使用它們?
這些庫是而不是存儲在任何配置文件。
如果您檢查GCC link options,您將看到一個選項「-l」,用於選擇要鏈接的庫。該選項的作用是在指定的路徑中查找庫。
如果您查看文件夾/usr/lib
,您將看到很多名爲/usr/lib/libgtkspell.so.0.0.0
的文件。這個如果是一個名爲gtkspell的庫。通過使用-lgtkspell
鏈接它,鏈接器將在搜索文件時自動添加其他部分。
pkg-config
應用程序適用於編譯(--cflags
)或鏈接(--libs
)時需要特殊額外GCC標誌的庫。但實際標誌pkg-config
增加了編譯/鏈接,只是標準的GCC標誌。
我想知道這些標誌,因爲我不知道給pkg什麼參數。 但我發現它是如何工作的:
在/ usr/lib/pkgconfig中有我們需要的一切。只能將這些文件中的一個放入參數中,+ --cflag和--clib。
(我不知道我是想看看/ usr/lib/pkgconfig)