繁体   English   中英

带有ubuntu 12.04配置的eclipse 4.2 cdt

[英]eclipse 4.2 cdt with ubuntu 12.04 configuration

我在Ubuntu 12.04上运行Eclipse CDT(Eclipse v。4.2)。 当我创建一个C ++项目(在Project type下-> Executable-> Hello World C ++ Project)并选择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 ++常规)时,它们具有相同的配置和设置,所以我不确定为什么空白项目没有检测到标准库并进行编译。 include文件夹中的所有文件也都相同。 在Windows 7(MingW编译器)安装和MacOS X安装中也会发生这种情况。 现在,我可以将我的项目创建为“ Hello World C ++项目”,摆脱我想要的文本和代码,但是我真的很好奇如何从头开始进行设置,特别是因为据我所知在Executable文件夹下创建“空项目”(与创建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;
   }

提前致谢。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM