最近我安装了Eclipse Indigo Service Release 2(用于JAVA EE)并在线安装了CDT 8.然后我在最新版本安装了带gcc,g ++,gdb,make,binutils,automake等的Cygwin。我也做了环境变量PATH正确。
制作一个新的C ++项目(使用Cygwin GCC工具链)很不错,但在输入HelloWorld程序后,它会显示很多错误和警告。
使用外部构建器时,显示错误
“无法运行程序”make“:???????????”。
使用内部构建器时,显示
“g ++ -IC:\ cygwin \ lib \ gcc \ i686-pc-cygwin \ 4.5.3 \ include \ c ++ -O0 -g3 -Wall -c -fmessage-length = 0 -o src \ test_cpp.o。 \ SRC \ test_cpp.cpp
错误:无法运行程序“g ++”:???????????
发生构建错误,构建已停止
在Windows CMD和Cygwin终端中,g ++并使两者都运行良好。
更糟糕的是,Eclipse无法找到包含库,因此我必须将路径C:\ cygwin \ lib \ gcc \ i686-pc-cygwin \ 4.5.3 \ include \ c ++添加到项目属性中 - &gt ; C / C ++ Building-> Settings.But之后,出错,它仍显示,
'std'含糊不清'
'endl'的无效重载
符号'cout'无法解析
在项目属性 - > C / C ++构建 - >发现选项中,我将发现配置文件范围设置为Configeration-wide,将Discovery配置文件设置为GCC /文件扫描程序信息配置文件。
答案 0 :(得分:6)
您必须设置Cygwin工具链,首先使用以下软件包安装Cygwin:
binutils
gcc
gcc-core
gcc-g++
gcc-mingw-core
gcc-mingw-g++
make
将%cygwin%\bin
添加到PATH环境变量中,然后打开Eclipse,并在打开新的c / cpp项目向导时显示Cygwin工具链。
答案 1 :(得分:4)
答案 2 :(得分:2)
我有类似的错误,对我有用的是:
在设置中'Project|Properties|C/C++ General|Indexer'
,我取消选中'Allow heuristic resolutions of includes'
并保存设置。在重建之后,我所有的错误如''std'都是模棱两可的......'消失了。
答案 3 :(得分:2)
你有没有检查过你使用的二进制解析器?
右键单击您的项目,属性,C / C ++构建,设置,二进制分析器选项卡,如果您使用的是Windows操作系统或Elf Parser for Linux OS,请选择PE Windows Parser。
答案 4 :(得分:0)
给出所有基本步骤以使用Eclipse + CDT + cygwin-gcc编写hello world程序。
您一定错过了3到7步。
binutils
,gcc-core
,gcc-g++
,gdb
和make
安装cygwin。
我之前没有安装任何软件包。所以我在安装cygwin之后安装了软件包。您可以通过重新运行cygwin的设置exe(this answer中的Point 3)或按照this answer中的说明使用apt-cyg
来安装它们:path
环境变量设置为包括cygwin bin(C:\Program Files\cygwin\setup\bin
)和lib(C:\Program Files\cygwin\setup\lib
)目录路径。
将Windows classpath
环境变量设置为包含cygwin lib目录路径。 gcc
,g++
,gdb
和make
,以检查已安装的cygwin软件包是否可以访问并且没有给出“找不到命令”错误。对于gcc
,g++
和make
,它应该给出输入或找不到目标文件的错误。对于gdb
,它应该启动gdb
提示符,您可以通过在Quit
提示符下键入gdb
来退出。File > New > C/C++ Project
Next>
。Cygwin GCC
:src
命名为新的源文件夹。HelloWorld.c
:
Run as > Local C/C++ Application
。它应该运行在先前步骤中生成的可执行文件。