Compilar em msys2 mingw64 com opção -m32

Compilar em msys2 mingw64 com opção -m32

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 -m32opção se usar o gcc presente no c:\mysys2\mingw32\bin.

Se a pasta estiver vazia no momento, entre:

  1. msysconsole.

  2. pacman -S mingw-w64-i686-toolchaine use este comando.

ReferirSubsistemaseção deste documento para obter mais informações.

informação relacionada