Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gcc CGOID相对包含C++中的路径_Gcc_Cmake - Fatal编程技术网

Gcc CGOID相对包含C++中的路径

Gcc CGOID相对包含C++中的路径,gcc,cmake,Gcc,Cmake,在我使用的库中有一个问题:所有路径都是相对的。 我的意思是,来自path1/path2/file.h的文件具有include interface.h,该接口位于另一个路径/anotherpath2/interface.h中 有什么方法可以强制链接器在不同的目录中查找包含项吗?链接器根本不关心头文件。您正在查看的是编译器。说实话,这是预处理器 CMake具有include_directories命令: 在./CMakeLists.txt中,这将使include interface.h成为可能 但这

在我使用的库中有一个问题:所有路径都是相对的。 我的意思是,来自path1/path2/file.h的文件具有include interface.h,该接口位于另一个路径/anotherpath2/interface.h中


有什么方法可以强制链接器在不同的目录中查找包含项吗?

链接器根本不关心头文件。您正在查看的是编译器。说实话,这是预处理器

CMake具有include_directories命令:

在./CMakeLists.txt中,这将使include interface.h成为可能

但这就是你真正想要的吗?通常,目录用于隔离模块。include anotherpath/anotherpath2/interface.h将发送一条更清晰的消息,说明此处实际包含的内容,以及在何处可以找到头文件以查找其声明。也许重构include语句比向CMake配置中添加大量include目录更好


一般来说,你的问题提供的上下文很少,因此很难给出建议。

链接器对头文件毫不在意。您正在查看的是编译器。说实话,这是预处理器

CMake具有include_directories命令:

在./CMakeLists.txt中,这将使include interface.h成为可能

但这就是你真正想要的吗?通常,目录用于隔离模块。include anotherpath/anotherpath2/interface.h将发送一条更清晰的消息,说明此处实际包含的内容,以及在何处可以找到头文件以查找其声明。也许重构include语句比向CMake配置中添加大量include目录更好


一般来说,你的问题没有什么背景,所以很难给出建议。

谢谢,听起来不错。我能以某种方式实现它吗,这样我就不必接触库源了?我的意思是,我需要一个全局项目明智的cmake解决方案来处理一堆文件,比如interface.h,这样在所有文件中它都知道在哪里可以找到那些特定的文件files@IllyaKovalevskyy例如我真的不知道你在说什么。来源是你自己的项目,是吗?然后,您必须在带有include_目录的CMake配置中或include语句本身中声明路径。在所有子目录中自动搜索给定的文件名不是一个好办法。不管怎么说,投票结束是因为不清楚你在问什么。谢谢,听起来不错。我能以某种方式实现它吗,这样我就不必接触库源了?我的意思是,我需要一个全局项目明智的cmake解决方案来处理一堆文件,比如interface.h,这样在所有文件中它都知道在哪里可以找到那些特定的文件files@IllyaKovalevskyy例如我真的不知道你在说什么。来源是你自己的项目,是吗?然后,您必须在带有include_目录的CMake配置中或include语句本身中声明路径。在所有子目录中自动搜索给定的文件名不是一个好办法。不管怎么说,投票结束是因为不清楚你在问什么。
include_directories( "anotherpath/anotherpath2" )