2012-10-08 53 views

回答

9

通常,安装gcc(GNU编译器集合)时会安装g ++。 首先确认你已经安装了g ++。

您可以在终端中输入以下内容来检查:which g ++。 响应应该是/ usr/bin/g ++。

如果发现G ++安装,在Eclipse中去项目 - >属性 - > C/C++建设 - >查找选项,在工具GCC C++编译器,把确切路径G ++而不是G ++(如果g单独++不工作)。

你会发现这个链接有用: What is the difference between g++ and gcc?

如果你还有问题,不要找回的反馈。

+0

版本选项给我“g ++(Ubuntu/Linaro 4.6.3-1ubuntu5)4.6.3” – Will

+1

我将“编译器调用命令”设置为确切的路径。没有更改。 另外,是否有修复,而不是修复所有项目? – Will

+0

所以很明显,你已经在盒子上安装了g ++。这指向在eclipse中路径不正确。尝试在这里添加路径变量到环境:window-> preferences-> C/C++ - > build-> Environment。 – bobestm

1

我有完全相同的问题。在linux之前,我从来没有遇到过Eclipse的问题,现在它甚至不会编译代码。我尝试将g ++和gcc编译器的名称更改为它们在project-> properties-> c/C++ Build-> discovery选项中的确切位置,没有任何帮助,我尝试重新安装eclipse并进行初始化,将路径添加到变数等。没有工作如此的票价。我正在开发的这个项目很安静,我宁愿用eclipse来管理源代码和makefile,而不是手动执行它。

Linux Mint 15 Eclispe:Version:3.8.1(我尝试使用最新版本...没有任何改变)

g ++ --version g ++(Ubuntu/Linaro 4.7.3-1ubuntu1)4.7.3版权所有(C)2012自由软件基金会,这是自由软件;请参阅复制条件的来源。没有保修;甚至不适用于适销性或针对特定用途的适用性。

gcc --version gcc(Ubuntu/Linaro 4.7.3-1ubuntu1)4.7.3版权所有(C)2012 Free Software Foundation,Inc.这是免费软件;请参阅复制条件的来源。没有保修;甚至不适用于适销性或针对特定用途的适用性。

例如:

#include // not resolved using namespace std; 

int main() { 
    std::cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!! 
    return 0; 
} 

那么上面的代码是不是有什么困扰我,因为我可以通过添加修复包括精确C++包含路径的,但代码只是不会编译。有线日食给我错误:

说明资源路径位置类型在PATH首选项,C++ /内部版本/设置/发现,[CDT GCC内置编译器设置]选项中未找到程序“g ++”C/C++扫描仪发现问题

但在我看来可以通过打开它们并按下crt + b来编译单个文件,但是整个项目不会编译。

今天上午解决了这一问题:
- 得到了最新的Eclipse
- 创建一个新的工作区
- 创建一个新的项目

几秒钟后,同样的错误消失

9

我有类似的问题,它解决了

  1. 安装克++的GNU C++使用ubuntu软件中心,并

  2. 改变在编译 -

    窗口 - >首选项 - > C/C++ - >构建 - >设置 - >发现 - > CDT GCC生成在编者设置[共享]

    来自:$ {COMMAND} -E -P -v -dD “$ {INPUTS}”

    到:在/ usr /斌/ $ {COMMAND} -E -P - v -dD“$ {INPUTS}”

我希望它有帮助。我想如果你把它添加到第一个答案中提到的项目中,你将需要为新项目添加所有时间。如果您按照我的建议添加,则无需将其添加到新项目中。

1

一旦我删除了eclipse的.metedata文件夹,从命令行调用eclipse -initialize并再次启动eclipse,这个问题就修复了。 HTH

0

在Eclipse启动时创建一个新的Workspace目录解决了我的问题。