****** 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
我是eclipse的新手,在Windows XP上,想运行c / c ++ progms + linux build(cygwin安装了所需的软件包)
上面说的错误即将到来,构建失败!请建议。
编辑:将路径env变量附加为e:\cygwin\bin;
这是针对参考:
alt text http://www.freeimagehosting.net/uploads/f1d71ae208.gif
答案 0 :(得分:3)
你是怎么setup your Cygwin toolchain in your Eclipse CDT的? (来自Alex Wu中Alex's Tech Blog的优秀博文)
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
”命令
2 /将
%cygwin%\bin
添加到您的envPATH
,然后打开日食。你会发现当你打开一个新的c / cpp项目向导时会显示cygwin工具链。
3 /配置GDB。
转到Windows->Preference->C/C++ -> Debug -> Common Source Lookup
添加以下'路径映射':
\cygdrive\c -> c:\
\cygdrive\d -> d:\
other drives if any .......
答案 1 :(得分:1)
我刚遇到同样的错误;这是我第一次使用eclipse与cygwin。我对日食也很新,但我对它的强大程度印象深刻。不幸的是,这个问题差不多在一年前被问到了。在此期间,软件可能已经发生了很大的变化,以至于我的建议在这个问题上可能是不合时宜的。
我正在使用Eclipse IDE for C / C ++ Developers Helios Service Release 2 版本1.3.2.20110218-0812
uname说Cygwin版本是CYGWIN_NT-6.1-WOW64
在关注这个问题的许多网络帖子的(经常是过时的)建议后,最终似乎有两件事情可以使它发挥作用。我的sysadmin,只有谁有权执行软件安装,需要增加我对cygwin / bin文件夹的访问权限,该文件夹现在为Read and Execute。其次,在eclipse中我将构建器的类型更改为External:File> Properties C / C ++ Build,Builder type:External builder。 Build现在可行,但不是没有抛出一些警告。我仍然对安装的许多复杂性感到困惑,我不确定为什么切换到外部构建器会产生这样的差异。
答案 2 :(得分:0)
我同意@pajton需要纠正Eclipse对从c:\cygwin\usr\bin
到c:\cygwin\bin
的Cygwin二进制路径的期望,因为Cygwin的作者改为将/ usr / bin安装到后者上。
我需要在我的开发人员构建Juno 20120322-1740的两个配置位置将Eclipse添加的Cygwin二进制目录从c:\cygwin\usr\bin
更改为c:\cygwin\bin
:
项目属性/ C / C ++构建/环境
运行/运行配置... /环境
我还在Compiler invocation command
到sh
的发现选项c:\cygwin\bin\dash.exe
中更改了shell解释器的路径,
项目属性/ C / C ++构建/发现选项/ Cygwin C编译器
项目属性/ C / C ++构建/发现选项/ Cygwin C ++编译器
这允许在Project Properties / C / C ++ General / Paths and Symbols中自动填充include目录和内置宏。
因为只有Cygwin构建的程序(例如bash.exe
,dash.exe
解析了Cygwin样式的可移植符号链接),所以我将编译器调用命令从gcc
更改为gcc-4
和{ {1}}到g++
,
项目属性/ C / C ++构建/设置/工具设置/ Cygwin C ++编译器
项目属性/ C / C ++构建/设置/工具设置/ Cygwin C编译器
项目属性/ C / C ++构建/设置/工具设置/ Cygwin C ++链接器
也许,当我看到声称要解决问题的git存储库发生变化时,这将很快自动完成,
当我调查我的问题时,我去了帮助/安装新软件... / Juno /编程语言/ C / C ++开发工具。
当我尝试升级所选的部分时,我收到一条不清楚的消息,说其他部分要求升级。当我按下“完成”时,我收到了重新启动的提示。我不知道是否通过这些操作升级了我的CDT。
如果要在运行时捕获访问冲突,请在“运行/外部工具...”/“配置外部工具”中创建外部工具条目。指定g++-4
作为程序,c:\cygwin\bin\bash.exe
,例如${workspace_loc:/PROJECT_NAME/CONFIG_NAME}
作为工作目录,并指定命令选项,后跟参数中的程序名称,如${workspace_loc:/test/Release}
。我发现-c "./test.exe"
没有将Cygwin DLL生成的堆栈跟踪路由到Eclipse捕获的stderr。
答案 3 :(得分:0)
解决此问题的另一种方法是转到
project properties / c/c++ build / settings / tool settings / cygwin C compiler
并将命令更改为
sh -c 'whatever was already there'
这将使用 sh 来调用命令,因此它将解析cygwin链接。您还必须为汇编器和链接器执行此操作。当然,在开始eclipse之前,你还必须确保你的路径指向c:\ cygwin \ bin。