Eclipse 内部生成器:无法运行程序";g++&引用;:系统找不到指定的文件

Eclipse 内部生成器:无法运行程序";g++&引用;:系统找不到指定的文件,eclipse,cygwin,eclipse-cdt,Eclipse,Cygwin,Eclipse Cdt,我是windows XP上的eclipse新手,希望运行c/c++程序+linux构建(cygwin随所需软件包一起安装) 上述错误即将发生,构建失败!请建议 编辑:作为e:\cygwin\bin追加到path env变量 这是供参考的: 你怎么样? (摘自《中国日报》的优秀博文) 1/正确安装Cygwin,您需要以下软件包: 您可以使用“cygcheck-c”命令检查您的cygwin安装 2/将%cygwin%\bin添加到您的env路径,然后打开eclipse。打开新的c/cpp项目向导

我是windows XP上的eclipse新手,希望运行c/c++程序+linux构建(cygwin随所需软件包一起安装)
上述错误即将发生,构建失败!请建议

编辑:作为
e:\cygwin\bin追加到path env变量

这是供参考的:

你怎么样?
(摘自《中国日报》的优秀博文)

1/正确安装Cygwin,您需要以下软件包:

您可以使用“
cygcheck-c
”命令检查您的cygwin安装

2/将
%cygwin%\bin
添加到您的env
路径
,然后打开eclipse。打开新的c/cpp项目向导时,将显示cygwin工具链

3/配置GDB

转到
Windows->Preference->C/C++->Debug->Common Source Lookup

添加以下“路径映射”:

binutils
gcc
gcc-core
gcc-g++
gcc-mingw-core
gcc-mingw-g++
make
gdb (needed if you want to support debug in eclipse)

我刚刚遇到了同样的错误;这是我第一次在cygwin中使用eclipse。我对eclipse也相当陌生,但它的强大给我留下了深刻的印象。不幸的是,这个问题几乎是在一年前提出的。在此期间,软件可能已经发生了很大的变化,因此我下面的建议在这个问题上可能有点不合时宜

我正在为C/C++开发人员使用EclipseIDE 太阳神服务发布2 版本1.3.2.20110218-0812

uname说Cygwin版本是Cygwin_NT-6.1-WOW64


在遵循了许多关于这个问题的网络帖子(通常是过时的)的建议之后,有两件事似乎终于让它起作用了。我的系统管理员单独拥有执行软件安装的权限,需要增加我对cygwin/bin文件夹的访问权限,该文件夹现在为Read和Execute。其次,在eclipse中,我将构建器的类型更改为External:File>Properties C/C++Build,构建器类型:External builder。Build现在可以工作了,不过也会抛出一些警告。我仍然对安装的许多复杂之处感到困惑,我不知道为什么切换到外部构建器会产生如此大的影响

我同意@pajton的观点,当Cygwin的作者将Cygwin的二进制路径从
c:\Cygwin\usr\bin
改为挂载/usr/bin时,需要纠正Eclipse对Cygwin二进制路径的期望

我需要在开发人员build Juno 20120322-1740的两个配置位置将Eclipse添加的Cygwin二进制目录更改为路径,从
c:\Cygwin\usr\bin
更改为
c:\Cygwin\bin

  • 项目属性/C/C++生成/环境

  • 运行/运行配置…/环境

我还将发现选项
编译器调用命令中shell解释器的路径从
sh
更改为
c:\cygwin\bin\dash.exe

  • 项目属性/C/C++生成/发现选项/Cygwin C编译器

  • ProjtPro/C/C++构建/发现选项/CygWin C++编译器

这允许在项目属性/C/C++常规/路径和符号中自动填充include目录和内置宏

因为只有Cygwin内置的程序,如
bash.exe
dash.exe
可以解析Cygwin风格的可移植符号链接,所以我将编译器调用命令从
gcc
更改为
gcc-4
,从
g++
更改为
g++-4

    ProjtPro/C/C++构建/设置/工具设置/ CygWin C++编译器

  • 项目属性/C/C++构建/设置/工具设置/Cygwin C编译器

  • 项目属性/C/C++构建/设置/工具设置/ CygWin C++链接器< /P>
也许,当我看到git存储库中声称要解决此问题的更改时,这将自动完成

当我调查我的问题时,我去帮助/安装新软件…/Juno/Programming Languages/C/C++开发工具

当我试图升级所选部件时,我收到一条不清楚的消息,说请求的升级是其他部件所需的。当我按下“Finish”时,我收到重新启动的提示。我不知道我是否用这些操作升级了CDT


如果要在运行时捕获访问冲突,请在运行/外部工具…/配置外部工具。指定
c:\cygwin\bin\bash.exe
作为程序,将
${workspace\u loc:/PROJECT\u NAME/CONFIG\u NAME}
例如
${workspace\u loc:/test/Release}
作为工作目录,并在参数中指定命令选项,后跟程序名,例如
-c./test.exe
。我发现
c:\cygwin\bin\dash.exe
没有将cygwin DLL生成的堆栈跟踪路由到Eclipse捕获的stderr。

另一种解决方法是转到

\cygdrive\c -> c:\
\cygdrive\d -> d:\ 
other drives if any .......
并将命令更改为

project properties / c/c++ build / settings / tool settings / cygwin C compiler

这将使用sh调用该命令,从而解析cygwin链接。您还必须为汇编器和链接器执行此操作。当然,在启动eclipse之前,您还必须确保您的路径指向c:\cygwin\bin。

g++
放在您的路径中,以便eclipse可以找到它。
g++
是否从cygwin命令行正确运行?是的,g++从命令行运行..到:pajton-确切位置?到系统路径变量或在EclipseN中,如-e:\cygwin\bin\g++?到系统
path
variable追加必要的路径:
path=blablabla;。。。;e:\cygwin\bin\
thx对于您的回复VonC,我已经完成了您提到的所有步骤,但仍然得到相同的生成错误:(@Rupali:很抱歉读到这一点。你的配置中一定有其他原因导致了这一点。我会继续关注我的情况。谢谢…如果你需要任何其他信息,请告诉我..我也在尝试+1的工作,但很不幸
project properties / c/c++ build / settings / tool settings / cygwin C compiler
sh -c 'whatever was already there'