【发布时间】:2015-07-15 17:54:28
【问题描述】:
我想提供一个(另外)支持静态链接的 pkg-config 文件。
通常你可以这样做:
Libs: -L${libdir} -lfoo
Libs.private: -L${libdir} -lbar
Cflags: -I${includedir} -DFOO
这将产生:
$ pkg-config --cflags foo
-I/usr/local/include -DFOO
$ pkg-config --libs foo
-L/usr/local/lib -lfoo
$ pkg-config --static --cflags foo
-I/usr/local/include -DFOO
$ pkg-config --static --libs foo
-L/usr/local/lib -lfoo -lbar
不幸的是,我的库 foo 在动态/静态链接时需要使用不同的预处理器定义,并且还需要链接到不同版本的库中。
所以期望的输出是:
$ pkg-config --cflags foo
-I/usr/local/include -DFOO_DYNAMIC
$ pkg-config --libs foo
-L/usr/local/lib -lfoo
$ pkg-config --static --cflags foo
-I/usr/local/include -DFOO_STATIC
$ pkg-config --static --libs foo
-L/usr/local/lib -lfoo_static
所以问题是:
- 是否可以为
static变体提供不同 CFLAGS/LIBS,而不仅仅是在动态变体之上添加?
【问题讨论】:
标签: build static-linking pkg-config