2010-04-09 168 views
4
****** Internal Builder is used for build    ****** 
g++ -ot1.o ..\t1.cpp 
Internal Builder: Cannot run program "g++": The system cannot find the file specified. 

Build error occurred, build is stopped 

我是新来的日蚀,在Windows XP中,要运行C/C++ progms + Linux的版本(cygwin的安装与所需的软件包)
上面说的错误来了,建设失败!请提出建议。内部生成器:不能运行程序“G ++”:系统找不到指定的文件

编辑:追加到PATH环境变量e:\cygwin\bin;

这是裁判:

alt text http://www.freeimagehosting.net/uploads/f1d71ae208.gif

+0

将'g ++'放入PATH中,Eclipse可以找到它。 – pajton 2010-04-09 10:49:32

+0

'g ++'是否可以从cygwin命令行正确运行? – 2010-04-09 10:50:05

+0

是g ++从命令行运行.. – Rupali 2010-04-09 11:30:48

回答

3

你是怎么setup your Cygwin toolchain in your Eclipse CDT
(从Alex's Tech BlogAlex Wu的优秀博客文章)正确

1 /安装Cygwin的,你需要下面的包:

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

您可以使用检查Cygwin安装'cygcheck -c'命令

alt text

2 /添加%cygwin%\bin到您的ENV PATH,然后打开蚀。你会发现当你打开一个新的c/cpp项目向导时会显示cygwin工具链。

alt text

3 /配置GDB。

转至Windows->Preference->C/C++ -> Debug -> Common Source Lookup
添加下面的 '路径映射':

\cygdrive\c -> c:\ 
\cygdrive\d -> d:\ 
other drives if any ....... 

alt text

+0

thx为您的答复VonC 我已经完成了所有你提到的步骤,但仍然得到相同的生成错误:( – Rupali 2010-04-09 12:10:06

+0

@Rupali:对不起,阅读的内容必须有一些其他原因导致你的配置。 – VonC 2010-04-09 14:45:00

+0

谢谢... plz让我知道如果您需要任何其他信息..m也尝试 – Rupali 2010-04-12 05:09:10

1

我只是碰到了同样的错误;这是我第一次在cygwin中使用eclipse。我对eclipse相当陌生,但我对它的强大程度印象深刻。不幸的是,这个问题在一年前被问到。在此期间,软件可能已经发生了很大的变化,以至于在这个问题上,我的建议可能是一种不合时宜的事情。

我使用的Eclipse IDE的C/C++开发人员 赫利俄斯服务版本2 版本1.3.2.20110218-0812

UNAME说,Cygwin的版本是CYGWIN_NT-6.1-WOW64

继后(通常已经过时了)许多网络帖子对这个问题的建议,最后有两件事情似乎使它工作。我的系统管理员,谁独自拥有执行软件安装的权限,需要增加我对cygwin/bin文件夹的访问权限,此文件夹现在被视为Read and Execute。其次,在eclipse中,我将构建器的类型更改为External:File> Properties C/C++ Build,Builder type:External builder。现在生成工作,虽然不是没有抛出一些警告。我仍然对许多错综复杂的安装感到困惑,我不确定为什么切换到外部构建器会产生这样的差异。

0

我同意@pajton,因为Cygwin作者更改为将/ usr/bin挂接到后者,所以需要更正Eclipse对从c:\cygwin\usr\binc:\cygwin\bin的Cygwin二进制路径的期望。

我需要改变Eclipse的另外Cygwin的二进制文件目录的路径从c:\cygwin\usr\binc:\cygwin\bin在我的开发者建立的两个配置位置朱诺20120322-1740:

  • 项目属性/ C/C++编译/环境

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

我也改变了路径的发现选项Compiler invocation command一个shell解释从shc:\cygwin\bin\dash.exe

  • 项目属性/ C/C++编译/查找选项/ Cygwin的C编译器

  • 项目属性/ C/C++构建/查找选项/ Cygwin的C++编译器

这使得自动填充包括目录和内置宏在项目属性/ C/C++通用/ P aths和符号。

因为只有Cygwin的内置程序,如bash.exedash.exe决心Cygwin的风格便携式符号链接,我改变了编译器调用命令从gccgcc-4g++g++-4

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

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

  • 项目属性/ C/C++编译/设置/工具设置/ Cygwin的C++链接器

或许,这将是自动当我看到Git仓库的变化自称为解决这一问题做了,

正如我调查我的问题,我去帮忙/安装新软件... /朱诺/编程语言/ C/C++开发工具。

正如我试图升级选定的一块我得到一个不明确的消息说,其他部分要求升级。当我按下“完成”时,我收到提示重启。我不知道我是否用这些行动升级了我的CDT。

如果要在运行时捕获访问冲突,请在运行/外部工具... /配置外部工具中创建一个外部工具条目。在参数中指定c:\cygwin\bin\bash.exe作为程序,${workspace_loc:/PROJECT_NAME/CONFIG_NAME}${workspace_loc:/test/Release}作为工作目录和命令选项,然后是程序名称,例如-c "./test.exe"。我发现c:\cygwin\bin\dash.exe不会将由Cygwin DLL生成的堆栈跟踪路由到Eclipse捕获的stderr。

0

另一种方式来解决这个问题是去

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

,并更改命令

sh -c 'whatever was already there' 

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

相关问题