使用ubuntu 12.04配置的eclipse 4.2 cdt

时间:2012-07-29 00:54:35

标签: c++ eclipse eclipse-cdt ubuntu-12.04

我在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 ++ Project”生成的.cpp文件的路径设置(属性 - > C / C ++ Build和C / C ++ General)时,以及添加到“空”的.cpp文件项目“他们有相同的配置和设置,所以我不确定为什么空项目没有检测到标准库和编译。包含文件夹中的所有文件也是相同的。这也发生在我的Windows 7(MingW编译器)安装和我的MacOS X安装上。现在我可以创建我的项目作为“Hello World C ++项目”,摆脱文本和代码我想要的东西,但我真的很好奇如何从头开始设置它,特别是因为我的理解是在Executable文件夹下创建一个“Empty Project”(而不是创建一个Makefile项目)应该包含一个makefile和所有必需的路径(只要选择了正确的工具链?)。

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

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