linux c 查找使用庫(kù)的cflags與libs的方法詳解
更新時(shí)間:2013年05月27日 15:23:42 作者:
本篇文章是對(duì)在linux中使用c語(yǔ)言查找使用庫(kù)的cflags與libs的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
很多時(shí)候,使用一些特別的庫(kù), 在編譯可執(zhí)行程序時(shí), 需要添加額外的 CFLAGS 和 LIBS . 否則會(huì)提示找不到指定的頭文件或者"undefined reference to ..." 的錯(cuò)誤信息.
假如程序 test.c 中使用了 libxml 的 api, 直接
$ gcc -Wall -o test test.c
會(huì)提示錯(cuò)誤消息.
執(zhí)行
$ ls /usr/lib/pkgconfig/ | grep libxml
libxml-2.0.pc
$ cat /usr/lib/pkgconfig/libxml-2.0.pc
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include
modules=1
Name: libXML
Version: 2.6.26
Description: libXML library version2.
Requires:
Libs: -L${libdir} -lxml2 -lz -lm
Cflags: -I${includedir}/libxml2
其中, Libs 和 Cflags 即是所需要的信息. 可以用如下命令得到
$ pkg-config libxml-2.0 --cflags --libs
-I/usr/include/libxml2 -lxml2 -lz -lm
因此, 在編譯時(shí), 只需要執(zhí)行
$ gcc -Wall `pkg-config libxml-2.0 --cflags --libs` -o test test.c
假如程序 test.c 中使用了 libxml 的 api, 直接
復(fù)制代碼 代碼如下:
$ gcc -Wall -o test test.c
會(huì)提示錯(cuò)誤消息.
執(zhí)行
復(fù)制代碼 代碼如下:
$ ls /usr/lib/pkgconfig/ | grep libxml
libxml-2.0.pc
復(fù)制代碼 代碼如下:
$ cat /usr/lib/pkgconfig/libxml-2.0.pc
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include
modules=1
Name: libXML
Version: 2.6.26
Description: libXML library version2.
Requires:
Libs: -L${libdir} -lxml2 -lz -lm
Cflags: -I${includedir}/libxml2
其中, Libs 和 Cflags 即是所需要的信息. 可以用如下命令得到
復(fù)制代碼 代碼如下:
$ pkg-config libxml-2.0 --cflags --libs
-I/usr/include/libxml2 -lxml2 -lz -lm
因此, 在編譯時(shí), 只需要執(zhí)行
復(fù)制代碼 代碼如下:
$ gcc -Wall `pkg-config libxml-2.0 --cflags --libs` -o test test.c
您可能感興趣的文章:
- linux find下如何統(tǒng)計(jì)一個(gè)目錄下的文件個(gè)數(shù)以及代碼總行數(shù)的命令
- linux的一個(gè)find命令配合rm刪除某天前的文件方法
- linux使用find和crontab命令定期清理過(guò)期文件
- 淺談Linux下通過(guò)find命令進(jìn)行rm文件刪除的小技巧
- Linux中文件查找方法大全
- Linux查找包含指定文字的文件(linux查找指定文件)
- Linux下如何使用grep命令查找?guī)в衪ab(退格)的字符
- 簡(jiǎn)單的Linux查找后門(mén)思路和shell腳本分享
- Linux中文件查找技術(shù)大全
- Linux中find命令的用法入門(mén)
相關(guān)文章
VisualStudio?制作Dynamic?Link?Library動(dòng)態(tài)鏈接庫(kù)文件的詳細(xì)過(guò)程
這篇文章主要介紹了VisualStudio?制作Dynamic?Link?Library動(dòng)態(tài)鏈接庫(kù)文件的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08VSCode 使用 Code Runner 插件無(wú)法編譯運(yùn)行文件名帶空格的文件問(wèn)題
這篇文章主要介紹了VSCode 使用 Code Runner 插件無(wú)法編譯運(yùn)行文件名帶空格的文件問(wèn)題,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-07-07使用map實(shí)現(xiàn)單詞轉(zhuǎn)換的實(shí)例分析
本篇文章是對(duì)使用map實(shí)現(xiàn)單詞轉(zhuǎn)換的代碼實(shí)例進(jìn)行了纖細(xì)的分析介紹,需要的朋友參考下2013-05-05數(shù)據(jù)結(jié)構(gòu)用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列的實(shí)例
這篇文章主要介紹了C++語(yǔ)言數(shù)據(jù)結(jié)構(gòu)用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列的實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-06-06深入c語(yǔ)言continue和break的區(qū)別詳解
本篇文章是對(duì)c語(yǔ)言中continue和break的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05