是否有一种干净的方法来区分debian包含路径和RH/fedora/centos路径?
我想与wbxml2库链接,但不幸的是,包含文件不在同一位置,具体取决于发行版。
在debian/ubuntu: #include <wbxml.h>
和其他:
#include <wbxml2/wbxml.h>
有没有人有一个干净的解决方案,使这段代码可移植(使用#ifdef为例)?由于
查看为-dev包提供的文件列表,其中当然包括:
/usr/lib/pkgconfig/libwbxml2.pc
那一行是开发包的"包配置"文件。这意味着你不需要关心绝对位置:使用包配置工具代替。
添加到你的Makefile:
CFLAGS += $(pkg-config --cflags libwbxml2)
LDLIBS += $(pkg-config --libs libwbxml2)
您将在使用pkg-config
的所有系统上获得正确的路径。
这是处理这一问题的恰当、正确和预期的方式,也是pkg-config
存在的首要原因。