如何为EclipseCDT选择特定的MinGW安装

如何为EclipseCDT选择特定的MinGW安装,eclipse,c++11,mingw,eclipse-cdt,Eclipse,C++11,Mingw,Eclipse Cdt,我使用32位EclipseCDTKelper来管理一段代码,我可以在命令行上编译,但如果我使用最新的c++11特性,就不能使用eclipse。CDT告诉我-std=c++11无法识别 在打开project properties\settings\tool settings中的verbose选项后,我发现eclipse CDT以某种方式选择了Haskell platform 2013.2附带的旧版本MinGW: Configured with: ../gcc-4.5.2/configure --e

我使用32位EclipseCDTKelper来管理一段代码,我可以在命令行上编译,但如果我使用最新的c++11特性,就不能使用eclipse。CDT告诉我-std=c++11无法识别

在打开project properties\settings\tool settings中的verbose选项后,我发现eclipse CDT以某种方式选择了Haskell platform 2013.2附带的旧版本MinGW:

Configured with: ../gcc-4.5.2/configure --enable-languages=c,c++,ada,fortran,objc,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --disable-werror --build=mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.5.2 (GCC) 
COLLECT_GCC_OPTIONS='-O0' '-g3' '-Wall' '-c' '-fmessage-length=0' '-v' '-o' 'src\vaomp_bnb.o' '-shared-libgcc' '-mtune=i386' '-march=i386'
 c:/haskell platform/2013.2.0.0/mingw/bin/../libexec/gcc/mingw32/4.5.2/cc1plus.exe -quiet -v -iprefix c:\haskell platform\2013.2.0.0\mingw\bin\../lib/gcc/mingw32/4.5.2/ -dD ..\src\vaomp_bnb.cpp -quiet -dumpbase vaomp_bnb.cpp -mtune=i386 -march=i386 -auxbase-strip src\vaomp_bnb.o -g3 -O0 -Wall -version -fmessage-length=0 -o C:\DOCUME~1\ting\LOCALS~1\Temp\ccWNoh7I.s
GNU C++ (GCC) version 4.5.2 (mingw32)
我是这样搜索的,半年前有一个类似的问题。但答案是关于设置环境变量的,并没有解决问题

在我的例子中,CDT可以找到一个MinGW GCC,但找到了一个错误的。我已经用gcc-4.8.1和Haskell平台安装了tdm gcc 64位。tdm gcc具有优先权和优先权

gcc --version 
在DOS和MSYS节目中

gcc.exe (tdm64-2) 4.8.1
我不知道CDT使用什么启发式方法来寻找工具链。我的问题是,我如何告诉CDT在特定位置使用gcc,例如c:/MinGW

注意,我无法卸载Haskell平台版的gcc,因为我需要HP


谢谢,

我想出来了。Eclipse CDT似乎不采用tdm gcc MinGW 64位,因为Eclipse本身是32位的。因此,它选择了唯一能找到的32位MinGW,这是HP的旧版本

为了验证这一点,我安装了Java1.7 64位,并下载了64位版本的EclipseCDTKelper。现在,CDT自动选择TDM-GCC 64版本的MinGW GCC

对于那些处于类似情况的人,另一个问题是64位CDT-MinGW64组合不构建项目。即使编译是可行的,即使对于新创建的HeloWord C++项目,也不会生成二进制/可执行文件。在我的例子中,我更改了项目属性..\tool链中的生成工具。从CDT internal builder到其他两个选项之一,一个是Gnu,另一个是长名称,然后项目可以成功生成exe文件