C++ 固定#包括<&燃气轮机;对于GCC(代码::块)
我正在使用为其他编译器/链接器编写的一些代码,其中包括以下文件:C++ 固定#包括<&燃气轮机;对于GCC(代码::块),c++,c,gcc,codeblocks,C++,C,Gcc,Codeblocks,我正在使用为其他编译器/链接器编写的一些代码,其中包括以下文件: #include <Engine/Graphics/Sprite.h> #包括 从项目的任何地方 该项目在该路径(从项目的根目录)包含这样一个文件,但是当我构建时,我得到了“未找到文件”错误 我如何修复所有这些包含,而不必手动完成所有操作?也许您应该编写 #include "Engine/Graphics/Sprite.h" (请注意双引号而不是括号) 在#include指令中,括号用于指定要包含系统/库头文件,
#include <Engine/Graphics/Sprite.h>
#包括
从项目的任何地方
该项目在该路径(从项目的根目录)包含这样一个文件,但是当我构建时,我得到了“未找到文件”错误
我如何修复所有这些包含,而不必手动完成所有操作?也许您应该编写
#include "Engine/Graphics/Sprite.h"
(请注意双引号而不是括号)
在#include
指令中,括号用于指定要包含系统/库头文件,该文件将在系统包含目录(例如/usr/include)中搜索,而双引号用于包含当前路径中的文件
如果使用此
#include
的文件位于包含引擎/…
层次结构的目录中,则此功能应该可以工作。如果不是这样,您还应该使用-I
指令将其指定给编译器作为一个附加的include目录。请记住,通常使用#include
指令来包含标准include目录中的文件。这些目录定义为环境变量或在编译器的命令行中。和#包括“filename”
以包括来自当前目录或相对于当前目录的任何路径的头文件
不需要全部手动完成
你可以使用你最喜欢的编辑器的搜索和替换功能我要复制Ben的评论,并说你应该在头文件所在的位置添加一个包含路径。这在一个项目中是很常见的我不太确定我是否理解你的解释,你说的“从项目的根开始”是什么意思。但是 当您将#include指令与您的命令一起使用时,编译器将使用-I选项在包含的目录中查找文件 在代码块中,转到项目->构建选项->搜索目录->编译器 并将文件夹路径添加到包含“引擎”的文件夹中 你可以在这里找到更多信息
编辑:在尝试任何操作之前,请尝试使用
#include“path/somefile.h”
而不是#include
将该路径添加到编译器中,使用-I
您应该使用-I path/to/top/of/build
进行构建,而不是使每个include都是相对的path@Ben这听起来像是我最容易做到的。如何在Code::Blocks中实现这一点是最好的方法?主要的问题是,手动完成并更改所有包含内容会非常繁琐。即使是Sprite.cpp也会以这种方式包含Sprite.h。sed
可以帮助您,但在进行此类工作时,最好准备好备份副本:)