pkg-config是接触了Linux后才遇到的东西,之前在Windows上没有见过类似的东西。
第一次见是wx-config,教程里写编译的时候只需要使用:
g++ myfoo.cpp `wx-config --libs --cxxflags` -o myfoo
就可以编译,直接写
g++ myfoo.cpp-o myfoo
就不行,很好奇,它是如何让编译通过的?
尝试在终端运行wx-config --libs --cxxflags
发现有输出:
$ wx-config --libs --cxxflags
-I/usr/local/lib/wx/include/gtk3-unicode-3.1 -I/usr/local/include/wx-3.1 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread
-L/usr/local/lib -pthread -lwx_gtk3u_xrc-3.1 -lwx_gtk3u_html-3.1 -lwx_gtk3u_qa-3.1 -lwx_gtk3u_core-3.1 -lwx_baseu_xml-3.1 -lwx_baseu_net-3.1 -lwx_baseu-3.1
震惊!居然自动把依赖的环境都设置好了!Windows上没见过这么强的东西啊!
一直以为是wxWidgets独有的,直到编译一个例子时,发现无法直接编译过,在搜索的时候发现了pkg-config。
用法类似,
$ pkg-config gtk+-3.0 --cflags --libs
-pthread -I/usr/include/gtk-3.0 -I/u