gpt4 book ai didi

c - #ifdef 找出使用的是 debian 还是 fedora/RH/centos

转载 作者:太空宇宙 更新时间:2023-11-04 07:15:55 27 4
gpt4 key购买 nike

是否有一种清晰的方法来区分 debian 包含路径与 RH/fedora/centos 路径?

我想链接 wbxml2 库,但不幸的是,根据发行版,包含文件不在同一位置。

在 debian/ubuntu 上:

    #include <wbxml.h>

以及其他方面:

    #include <wbxml2/wbxml.h>

有没有人有一个干净的解决方案来使此代码可移植(例如使用#ifdef)?谢谢

最佳答案

查看 list of provided files for the -dev package显示,当然还有:

/usr/lib/pkgconfig/libwbxml2.pc

该行是开发包的“包配置”文件。这意味着您无需关心绝对位置:改用包配置工具。

将此添加到您的 Makefile 中:

CFLAGS += $(pkg-config --cflags libwbxml2)
LDLIBS += $(pkg-config --libs libwbxml2)

您将使用 pkg-config 在所有系统上获得正确的路径。

这是处理此问题的正确、正确和预期的方式,也是 pkg-config 存在的首要原因。

关于c - #ifdef 找出使用的是 debian 还是 fedora/RH/centos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24631644/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com