2012-07-29 70 views
0

我在Ubuntu 12.04上运行Eclipse CDT(Eclipse v.4.2)。当我创建一个C++项目(在项目类型 - >可执行 - > Hello World C++项目中)并选择Linux GCC工具链时,标准hello world应用程序编译并运行得很好。当我试图创建一个空的项目(从同样的菜单,之前),选择Linux的GCC工具链也,它带来了一些构建错误:eclipse 4.2 cdt与Ubuntu 12.04配置

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' 

当我比较路径设置(属性 - > C/C++生成和C/C + +一般)为由“Hello World C++项目”生成的.cpp文件,并为.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; 
    } 

在此先感谢。

回答

0

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