我在 Ubuntu 12.04 上运行 Eclipse CDT (Eclipse v. 4.2)。当我创建一个 C++ 项目(在项目类型 -> 可执行文件 -> Hello World C++ 项目下)并选择 Linux GCC 工具链时,标准的 hello world 应用程序编译并运行得很好。当我尝试创建一个空项目(从与以前相同的菜单中),同时选择 Linux GCC 工具链时,它会带来几个构建错误:
make:***[tst] Error 1
Symbol 'cout' could not be resolved
Symbol 'endl' could not be resolved
Symbol 'std' could not be resolved
undefined reference to 'main'
当我比较“Hello World C++ 项目”生成的 .cpp 文件和添加到“空项目”中的 .cpp 文件的路径设置(属性 -> C/C++ 构建和 C/C++ 常规)时,他们有相同的配置和设置,所以我不确定为什么空项目没有检测到标准库和编译。包含文件夹中的所有文件也是相同的。这也发生在我的 Windows 7(MingW 编译器)安装和我的 MacOS X 安装上。现在我可以将我的项目创建为“Hello World C++ 项目”,摆脱我想要的文本和代码,但我真的很好奇如何从头开始设置它,特别是因为我的理解是创建一个“空项目”
CDT 控制台的实际构建错误是:
20:49:26 **** Incremental Build of configuration Debug for project tst ****
make all
Building target: tst
Invoking: GCC C++ Linker
g++ -o "tst" ./src/test.o
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [tst] Error 1
20:49:26 Build Finished (took 62ms)
我试图运行的代码只是 eclipse 生成的默认 hello world 代码:
#include <iostream>
using namespace std;
int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}
提前致谢。