通过 <...> 访问大型 C++ 项目中的头文件

Posted

技术标签:

【中文标题】通过 <...> 访问大型 C++ 项目中的头文件【英文标题】:Accessing header files in a large C++ project by <...> 【发布时间】:2018-07-03 21:11:38 【问题描述】:

我有一个包含两个包的项目:

项目

|-- Package_A
  |-- exA.cpp
  |-- exA.h
|-- Package_B
  |-- exB.cpp
  |-- exB.h

在这个项目中,exB.cpp 引用 exA.h

#include <Package_A/exA.h>

但是,我想使用SWIG 使用distutils 为这个文件创建一个Python 接口。我在扩展定义中包含以下代码:

sources=["Package_A/exA.cpp", "Package_B/exB.cpp"]
include_dirs=["Package_A/exA.h", "Package_B/exB.h"]

我在编译有关标头引用时出错。如果我使用,我可以暂停该错误:

#include "../Package_A/exA.h"

有很多这样的文件。如何使用&lt;...&gt; 启用引用?

【问题讨论】:

include_dirs 这个名字应该暗示了你应该在里面放什么。尝试例如include_dirs=["."] 看看你能不能弄清楚这有什么不同。 当然,我的错误。我应该把目录放在那里。谢谢。 【参考方案1】:

对于编译器 <...> 表示在定义的包含路径中搜索包含。 编译时只需定义包含路径。类似的问题已经回答: How to include header files in GCC search path?

【讨论】:

以上是关于通过 <...> 访问大型 C++ 项目中的头文件的主要内容,如果未能解决你的问题,请参考以下文章

C++ 二项分布

c++数值52,截断,弹出计数,中点,二项分布

如何在 Github Actions 工作流中从 Github 包访问 Maven 依赖项?

C++输出斐波那契数列的前n项

浅谈 Apache 的访问控制配置

C++ 通过使用库提高大型项目的构建速度