Eclipse CDT 找不到 Cygwin 或 MinGW 工具链

Posted

技术标签:

【中文标题】Eclipse CDT 找不到 Cygwin 或 MinGW 工具链【英文标题】:Eclipse CDT does not find either Cygwin or MinGW toolchain 【发布时间】:2012-07-07 09:06:09 【问题描述】:

我很难为 C/C++ 配置 Eclipse Juno。我是Windows用户,所以我在Eclipse下安装了CygwinMinGWCDT。还正确配置了PATH 变量,尽管我在 Eclipse C/C++ 新项目中仍然没有任何新工具链。

这些是我的 Eclipse 详细信息:

Eclipse Java EE IDE for Web Developers.

Version: Juno Release
Build id: 20120614-1722

另外,请参阅已安装的 Eclipse 组件的图像。 附上一些来自 Windows 命令行的输出:

C:\>echo %path%
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x8
6)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\
Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Fil
es (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\MiKTeX 2.9\miktex
\bin\x64\;C:\Program Files\MATLAB\R2011b\runtime\win64;C:\Program Files\MATLAB\R
2011b\bin;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\Java\jdk\b
in;C:\Program Files (x86)\Java\jre\bin;C:\Program Files (x86)\android\android-sd
k\platform-tools;C:\Program Files (x86)\Android\android-sdk\tools;C:\Program Fil
es\Python32;C:\Program Files (x86)\Notepad++;C:\tomcat\bin;C:\Users\Administrato
r\AppData\Roaming\npm;C:\Program Files (x86)\Gnu\GnuWin32\bin;C:\Program Files\n
odejs;C:\Users\Administrator\AppData\Roaming\npm;C:\MinGW\bin;C:\MSYS\bin;C:\cyg
win\bin

C:\>gdb --version
GNU gdb (GDB) 7.4
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.    

C:\>make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-pc-mingw32

C:\>g++ --version
g++ (GCC) 4.7.0
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

C:\>gcc --version
gcc (GCC) 4.7.0
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Cygwin shell 的封闭输出:

Cygwin Package Information
Package                   Version              Status
_autorebase               000085-1             OK
_update-info-dir          01054-1              OK
alternatives              1.3.30c-10           OK
autoconf                  10-1                 OK
autoconf2.1               2.13-10              OK
autoconf2.5               2.68-1               OK
automake1.9               1.9.6-10             OK
base-cygwin               3.1-1                OK
base-files                4.1-1                OK
bash                      4.1.10-4             OK
binutils                  2.22.51-2            OK
bzip2                     1.0.6-2              OK
colorgcc                  1.3.2-2              OK
coreutils                 8.15-1               OK
crypt                     1.2-1                OK
cygutils                  1.4.10-2             OK
cygwin                    1.7.15-1             OK
cygwin-doc                1.7-1                OK
dash                      0.5.7-1              OK
dejagnu                   20021217-2           OK
diffutils                 3.2-1                OK
dos2unix                  6.0-1                OK
editrights                1.01-2               OK
expect                    5.45-1               OK
file                      5.11-1               OK
findutils                 4.5.9-2              OK
gawk                      4.0.1-1              OK
gcc                       3.4.4-999            OK
gcc-core                  3.4.4-999            OK
gcc-g++                   3.4.4-999            OK
gcc-mingw                 20040810-1           OK
gcc-mingw-core            20050522-3           OK
gcc-mingw-g++             20050522-3           OK
gcc-tools-epoch1-autoconf 2.59-1               OK
gcc-tools-epoch1-automake 1.9.6-1              OK
gcc-tools-epoch2-autoconf 2.64-1               OK
gcc-tools-epoch2-automake 1.11.1-1             OK
gcc4                      4.5.3-3              OK
gcc4-core                 4.5.3-3              OK
gcc4-g++                  4.5.3-3              OK
gdb                       7.3.50-3             OK
gdbm                      1.8.3-20             OK
gettext                   0.18.1.1-2           OK
grep                      2.6.3-1              OK
groff                     1.21-2               OK
gzip                      1.4-1                OK
ipc-utils                 1.0-1                OK
less                      444-1                OK
libattr1                  2.4.46-1             OK
libbz2_1                  1.0.6-2              OK
libcloog0                 0.15.7-1             OK
libdb4.5                  4.5.20.2-3           OK
libffi4                   4.5.3-3              OK
libgcc1                   4.5.3-3              OK
libgdbm                   1.8.0-5              OK
libgdbm-devel             1.8.3-20             OK
libgdbm4                  1.8.3-8              OK
libgmp3                   4.3.2-1              OK
libgmpxx4                 4.3.2-1              OK
libgomp1                  4.5.3-3              OK
libiconv2                 1.14-2               OK
libintl3                  0.14.5-1             OK
libintl8                  0.18.1.1-2           OK
liblzma5                  5.0.2_20110517-1     OK
libmpc1                   0.8-1                OK
libmpfr1                  2.4.1-4              OK
libmpfr4                  3.0.1-1              OK
libncurses10              5.7-18               OK
libncurses9               5.7-16               OK
libncursesw10             5.7-18               OK
libpcre0                  8.21-2               OK
libpopt0                  1.6.4-4              OK
libppl                    0.10.2-1             OK
libreadline7              6.1.2-3              OK
libsigsegv2               2.10-1               OK
libssp0                   4.5.3-3              OK
libstdc++6                4.5.3-3              OK
libstdc++6-devel          4.5.3-3              OK
login                     1.10-10              OK
m4                        1.4.16-1             OK
make                      3.82.90-1            OK
man                       1.6g-1               OK
mingw-binutils            2.21-1               OK
mingw-gcc-core            4.5.2-1              OK
mingw-gcc-g++             4.5.2-1              OK
mingw-pthreads            20110507-1           OK
mingw-runtime             3.20-1               OK
mingw-w32api              3.17-2               OK
mingw64-i686-binutils     2.22.52-1            OK
mingw64-i686-gcc          4.5.3-6              OK
mingw64-i686-gcc-core     4.5.3-6              OK
mingw64-i686-gcc-g++      4.5.3-6              OK
mingw64-i686-headers      3.0b_svn5134-1       OK
mingw64-i686-pthreads     20100619-4           OK
mingw64-i686-runtime      3.0b_svn5134-1       OK
mingw64-x86_64-binutils   2.22.52-1            OK
mingw64-x86_64-gcc        4.5.3-6              OK
mingw64-x86_64-gcc-core   4.5.3-6              OK
mingw64-x86_64-gcc-g++    4.5.3-6              OK
mingw64-x86_64-headers    3.0b_svn5134-1       OK
mingw64-x86_64-pthreads   20100619-4           OK
mingw64-x86_64-runtime    3.0b_svn5134-1       OK
mintty                    1.1.1-1              OK
perl                      5.10.1-5             OK
rebase                    4.2.0-1              OK
run                       1.1.13-1             OK
sed                       4.2.1-2              OK
tar                       1.25-1               OK
tcl                       8.5.11-1             OK
terminfo                  5.7_20091114-14      OK
texinfo                   4.13-4               OK
tzcode                    2012b-1              OK
w32api                    3.17-2               OK
which                     2.20-2               OK
xz                        5.0.2_20110517-1     OK
zlib0                     1.2.7-1              OK

我也熟悉Why doesn't MinGW show up in the list of Eclipse/Indigo CDT Toolchains?和How to deal with Eclipse CDT+Cygwin?和http://wyding.blogspot.com/2009/04/setup-cygwin-toolchain-in-eclipse-cdt.html

谁能帮我弄清楚哪里出了问题?

【问题讨论】:

【参考方案1】:

我也有同样的问题。 我找到了两种可能的解决方案:

    当您选择“新建项目->C++ 项目->项目类型:可执行文件”时,取消选中“仅在平台支持时显示项目类型和工具链”。

    卸载“GNU Autotools”,然后你就可以看到你想要的选项了。

【讨论】:

【参考方案2】:

Eclipse 试图找出 cygwin1.dll 的位置。但是这个文件存在于许多以前用 cygwin 构建的程序中。所以 Eclipse 可以在安装正确的 cygwin 之前找到它。

因此,一种可能的解决方案是将 C:\cygwin\bin 放在 PATH 变量的开头,以便 Eclipse 之前在那里搜索。

【讨论】:

环境PATH添加C:\cygwin\bin生效【参考方案3】:

我遇到了同样的问题。我通过将我的 cygwin 编译器程序的位置添加到 PATH 来修复它。可能您没有正确添加位置。对于 cygwin,将路径转到 bin 文件夹。

【讨论】:

【参考方案4】:

即使在我指定之后,我也无法让 Eclipse (LUNA) 在我的计算机上找到 MinGW(Preferences>C/C++/New C/C++ 项目向导中没有可用的 MinGW) Preferences>C/C++/Build>Environment 中的 PATH 为“C:\MinGW\bin”,所以我后来做的是:

    在不指定任何工具链的情况下创建一个简单的“Hello world”C 项目 (在这一步我尝试全部构建,但失败了) 转到 Project>Properties,令人惊讶的是,在这里我可以看到 MinGW GCC 作为当前工具链的可用选择。选择它。 现在我可以构建和运行项目了

希望对您有所帮助!

【讨论】:

【参考方案5】:

根据 CDT 帮助页面:http://wiki.eclipse.org/CDT/User/FAQ#I_installed_MinGW_toolchain_on_my_PC_but_Eclipse_won.27t_find_it。

尽管您的 PATH 上有 g++.exe 或 gcc.exe 并定义了 MINGW_HOME,您仍可能收到“未检测到工具链“MinGW GCC””消息(Luna 4.4.0 上的 CDT 8.4)。确保 MINGW_HOME\bin 中存在名为“mingw32-gcc.exe”的文件。如果它不存在(MinGW-W64 会发生这种情况),请将 -gcc.exe 文件(例如 i686-w64-mingw32-gcc.exe)复制到 mingw32-gcc.exe。如果可怕的消息仍然存在,请重新启动系统(不要只是注销和登录)。

【讨论】:

以上是关于Eclipse CDT 找不到 Cygwin 或 MinGW 工具链的主要内容,如果未能解决你的问题,请参考以下文章

程序无法启动,因为缺少 cygwin1.dll...在 Eclipse CDT 中

在 PATH 中找不到“g++”[已安装 mac/Eclipse/XCODE/CDT]

使用 Eclipse + CDT + MinGW32 开发 C++ Socket 程序找不到库文件和头文件

Eclipse CDT 生成的 Makefile 在哪里?

CDT 索引器找不到 std::unordered_map

cygwin下java报错“找不到或无法加载主类”的故障排除