-m32 옵션을 사용하여 msys2 mingw64에서 컴파일

-m32 옵션을 사용하여 msys2 mingw64에서 컴파일

msys2 mingw64 쉘 내에서 32비트 모드에서 실행하기 위해 -m32 옵션을 사용하여 소프트웨어를 컴파일하고 싶습니다.

mingw-w64-x86_64-toolchain을 설치했습니다.

하지만 -m32로 컴파일하면 다음과 같은 오류가 발생합니다.

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

라이브러리 설치 문제를 생각하고 있는데 어떻게 찾는지 모르겠습니다.

답변1

c:\msys2 아래에서도 mingw32.exe 셸을 사용했습니다. 이 아래에 다음을 설치했습니다: pacman -S mingw-w64-i686-toolchain

mingw64 bash 쉘에서 gcc -m32를 사용하면 i386 objs를 빌드하는 것처럼 보이지만(objdump로 확인) 본 것처럼 성공적으로 연결되지 않습니다.

답변2

-m32.NET에 있는 gcc를 사용하는 경우 이 옵션을 사용할 수 있습니다 c:\mysys2\mingw32\bin.

현재 폴더가 비어 있으면 다음으로 이동하십시오.

  1. msys콘솔.

  2. pacman -S mingw-w64-i686-toolchain이 명령을 사용하십시오.

나타내다서브시스템자세한 내용은 이 문서의 섹션을 참조하세요.

관련 정보