0

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

#include <hdf5.h>

我当然可以通过 G++ 选项-isystem /usr/include/hdf5/serial,但我宁愿保持模块化,而不是将这段配置复制到任何最终可能使用此标头的项目中。

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

4

1 回答 1

1

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

于 2018-08-28T09:55:19.197 回答