【问题标题】:Have GCC preprocessor treat angle brackets as quotes让 GCC 预处理器将尖括号视为引号
【发布时间】:2019-02-02 21:27:12
【问题描述】:

我正在尝试使用在应该使用引号的地方使用尖括号的系统标题。具体来说,我在 /usr/include/hdf5/serial/ 中有一个系统提供的头文件,其中包含

#include <hdf5.h>

我当然可以将选项 -isystem /usr/include/hdf5/serial 传递给 G++,但我宁愿保持模块化,而不是将这段配置复制到任何可以最终消费这个头部。

我在 Ubuntu 18.04 和 CentOS 7.x 上使用 G++ 7.3 和 DevToolset 7。

【问题讨论】:

    标签: g++ c-preprocessor hdf5 gcc7


    【解决方案1】:

    您提出的是唯一明智的解决方案 - 该库要求您将该目录添加到编译器的系统包含路径。要将其与使用标头的程序隔离开来,您可以从库中仅前向声明您需要的东西,或者您可能需要某种抽象层。或者只是将库的 pkg-config 转发到您自己库的 .pc 文件中。

    【讨论】:

    • 感谢您将注意力转向 pkg-config。它确实使过程更容易......
    猜你喜欢
    • 2012-02-03
    • 2021-02-02
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-30
    • 2012-01-06
    相关资源
    最近更新 更多