Dentro de um shell msys2 mingw64, gostaria de compilar um software com a opção -m32 para rodar no modo de 32 bits.
Eu instalei o mingw-w64-x86_64-toolchain
Mas quando compilo com -m32, tenho os seguintes erros:
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.1.0/../../../../x86_64-w64-mingw32/lib/libmingw32.a when searching for -lmingw32
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.1.0/../../../../x86_64-w64-mingw32/lib\libmingw32.a when searching for -lmingw32
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.1.0/../../../../x86_64-w64-mingw32/lib/libmingw32.a when searching for -lmingw32
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmingw32
Estou pensando em um problema de instalação de bibliotecas, mas não sei como encontrá-las.
Responder1
Usei o shell mingw32.exe também em c:\msys2 Abaixo dele instalei: pacman -S mingw-w64-i686-toolchain
Usar gcc -m32 do shell bash mingw64 parece construir objs i386 (verificando com objdump), mas não vincula com sucesso como você viu.
Responder2
Você pode usar a -m32
opção se usar o gcc presente no c:\mysys2\mingw32\bin
.
Se a pasta estiver vazia no momento, entre:
msys
console.pacman -S mingw-w64-i686-toolchain
e use este comando.
ReferirSubsistemaseção deste documento para obter mais informações.