gpt4 book ai didi

c++ - gcc-4.9 无法编译#include "user defined file"

转载 作者:行者123 更新时间:2023-11-28 02:23:05 25 4
gpt4 key购买 nike

我尝试使用 gcc-4.9 编译以下简单的 c++ 文件 (a.cpp)。

#include <iostream>
#include <foo>

using namespace std;

int main()
{
int x = 3;
cout << f(x) << endl;
return 0;
}

"foo"也是下面这个简单的 c++ 文件(去掉 include guard 使代码更简单)。

int f(int ret){
return ret + 1;
}

我不能用 gcc-4.9 编译 a.cpp,因为编译器说:

a.cpp:2:15: fatal error: foo: No such file or directory

我认为编译错误是因为用户定义的文件作为标准头文件包含在内(用括号括起来,“<***>”)。

之前,我看到了同样的错误,知道了两种解决这些编译错误的方法。

第一个是将编译器 gcc-4.9 更改为 gcc-5.0。

第二个正在替换

#include <foo>

#include "foo"

.

虽然我不知道为什么编译错误会被这些方法解决,但我从现在开始就这样做了。

但是现在,我看到一段代码,无法用第二种方法解决。它包括许多用户定义的文件作为许多头文件中的标准文件。因此,通过第二种方法,我们必须编辑许多头文件。

也是用第一种方法解决的,但是我现在想用gcc-4.9编译。我想如果有一种不用编辑就可以用gcc-4.9编译“a.cpp”的方法,代码也可以用同样的方法编译。

如何在不编辑的情况下通过 gcc-4.9 编译“a.cpp”。为什么我可以用gcc-5.0编译“a.cpp”?

最佳答案

#include "file"会寻找file在与包含它的文件相同的目录中。 #include <file>完全依赖于包含路径,所以你需要 -I. (或任何路径)在你的编译命令行上。

关于c++ - gcc-4.9 无法编译#include "user defined file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31645860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com