0

我在 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;
   }

提前致谢。

4

1 回答 1

0

我已经看到杂志上出售的一些 Ubuntu 12.04 DVD 默认不安装 gnu G++。转到 Ubuntu 软件中心并安装 G++(GNU C++ 编译器工具链)。安装后,在 IDE 左侧的 Eclipse Project Explorer 中右键单击您的项目名称。在索引项下选择重建。这应该可以解决 iostream 包含等问题。

于 2012-08-03T13:50:12.393 回答