【发布时间】:2010-04-25 05:55:34
【问题描述】:
我正在使用 cygwin 库在 Windows 上运行 C 和 C++ 程序。
gcc 运行良好,但使用g++,我得到一长串错误。我认为这些错误是因为与 C 库的链接问题。
你能建议我需要做什么来解决这个问题吗?
开始错误行:
In file included from testgpp.cpp:1:
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:52:19: stdio.h: No such file or directory
In file included from testgpp.cpp:1:
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:99: error: `::FILE' has not been declared
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:100: error: `::fpos_t' has not been declared
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:102: error: `::clearerr' has not been declared
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:103: error: `::fclose' has not been declared
/cygdrive/c/cygwin/bin/../lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdio:104: error: `::feof' has not been declared
整个错误转储: PasteBin
对于要求源代码的人:这显然是一个头文件链接问题,甚至在编译开始之前就发生了。对于每个 .cpp 文件,我都会遇到相同的错误。
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
int main(){
cout<<"hello world!";
}
给了我同样的错误。
【问题讨论】:
-
@Marcelo Cantos:
g++ testgpp.cpp -
没有看到更多细节,我不能给你答案,但如果你包含“windows.h”......众所周知,它与 Cygwin 的交互非常糟糕,有时可能会导致类似的错误以上。
-
能把testgpp.cpp的内容贴出来吗?
-
还有 g++ --version 也会有所帮助。
-
@Michael Aaron Safyan:你想知道什么细节?