所以我试图在 Windows 中用 msys 和 tdm-gcc 编译一个预先存在的 C++ 项目。我通过安装程序安装 tdm-gcc(最新版本),编辑 MinGW/msys/1.0/etc/fstab 以将我的 tdm-gcc 安装作为挂载位置,然后运行 msys 来调用配置脚本,并成功地做到了这一点,并且制作。但是,对于这个项目,我需要使用旧版本的 tdm-gcc (4.6.1-tdm64-1) 来实现二进制兼容性。所以我从 tdm-gcc sourceforge 站点安装了所需的包(gcc core、gcc c++、binutils、mingw64-runtime、mingw32-make、libintl、libiconv,自述文件中说要与 4.6.1 一起使用的所有版本),提取到一个新目录,并编辑 fstab 以指向它们的位置。现在在执行配置时出现此错误:无法运行 C 编译程序。配置文件内容如下:
[omitted]
configure:3436: $? = 0
configure:3425: gcc -v >&5
Using built-in specs.
COLLECT_GCC=c:\TDM-GCC-4.6.1-64\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/tdm-gcc-4.6.1-64/bin/../libexec/gcc/x86_64-w64-mingw32/4.6.1/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../src/gcc-4.6.1/configure --build=x86_64-w64-mingw32 --enable- targets=all --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libgomp --enable-lto --enable-libstdcxx-debug --enable-version-specific-runtime-libs --enable-fully-dynamic-string --with-gnu-ld --disable-werror --disable-nls --disable-win32-registry --prefix=/mingw64tdm --with-local-prefix=/mingw64tdm --with-pkgversion=tdm64-1 --with-bugurl=http://tdm-gcc.tdragon.net/bugs
Thread model: win32
gcc version 4.6.1 (tdm64-1)
configure:3436: $? = 0
configure:3425: gcc -V >&5
gcc.exe: error: unrecognized option '-V'
gcc.exe: fatal error: no input files
compilation terminated.
configure:3436: $? = 1
configure:3425: gcc -qversion >&5
gcc.exe: error: unrecognized option '-qversion'
gcc.exe: fatal error: no input files
compilation terminated.
configure:3436: $? = 1
configure:3456: checking whether the C compiler works
configure:3478: gcc conftest.c >&5
configure:3482: $? = 0
configure:3530: result: yes
configure:3533: checking for C compiler default output file name
configure:3535: result: a.exe
configure:3541: checking for suffix of executables
configure:3548: gcc -o conftest.exe conftest.c >&5
configure:3552: $? = 0
configure:3574: result: .exe
configure:3596: checking whether we are cross compiling
configure:3604: gcc -o conftest.exe conftest.c >&5
configure:3608: $? = 0
configure:3615: ./conftest.exe
./configure: line 3617: ./conftest.exe: Bad file number
configure:3619: $? = 126
configure:3626: error: in `/c/jagswm':
configure:3628: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
[omitted]
我已经尝试将 tdm-gcc bin 添加到我的路径中,尽管我认为如果设置了 fstab 并不重要。任何建议将不胜感激,谢谢。