hsbf2008 2016-09-06 我去,我和你的问题一模一样!!! 我在google上搜到了答案。 http://stackoverflow.com/questions/19690504/how-do-i-compile-and-link-a-32-bit-windows-executable-using-mingw-w64 That depends on which variant of toolchain you're currently using. Both DWARF and SEH variants (which come starting from GCC 4.8.0) are only single-target. You can see it yourself by inspecting the directory structure of their distributions, i.e. they contain only the libraries with either 64- and 32-bit addressing, but not both. On the other hand, plain old SJLJ distributions are indeed dual-target, and in order to build 32-bit target, just supply -m32 flag. If that doesn't work, then just build with i686-w64-mingw32-g++. 也就是说mingw-w64不是有很多分支吗?就是那个异常实现方式不同。 但是SEH和DWARF都是只有一个平台的(只有x32或者只有x64),坑。。。 他说老式的SJLJ方式有两个平台的,这个时候可以用-m32来就可以了。 如果还不行,就只能用mingw32来编译了。。。