2017-12-07 1 views
1

cygwin g ++를 사용하여 -m32로 C++ 프로그램을 컴파일하려고하는데 이렇게하려고하면 오류가 발생합니다.Cygwin G ++에서 -m32로 C++ 컴파일 Windows 64 비트 오류

내가 문제에 관해 읽은 것부터, -m32이 작동하도록하는 cygwin 패키지 관리자로부터 패키지를 다운로드해야하지만 어떤 패키지인지 확실하지 않습니다. 내가 읽은 또 다른 게시물은 gcc-multilibg++-multilib을 패키지 관리자에서 설치해야했지만 사용 가능한 패키지를 선택할 수 없다고했습니다.

/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0//libgcc_s.dll.a when  searching for -lgcc_s 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/libgcc_s.dll.a when  searching for -lgcc_s 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0//libgcc_s.dll.a when  searching for -lgcc_s 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/libgcc_s.dll.a when  searching for -lgcc_s 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  cannot find -lgcc_s 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0//libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0//libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0//libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  cannot find -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../libcygwin.a  when searching for -lcygwin 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../libcygwin.a  when searching for -lcygwin 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../libcygwin.a  when searching for -lcygwin 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  cannot find -lcygwin 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  cannot find -ladvapi32 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  cannot find -lshell32 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  cannot find -luser32 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  cannot find -lkernel32 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0//libgcc_s.dll.a when  searching for -lgcc_s 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/libgcc_s.dll.a when  searching for -lgcc_s 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0//libgcc_s.dll.a when  searching for -lgcc_s 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/libgcc_s.dll.a when  searching for -lgcc_s 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  cannot find -lgcc_s 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0//libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0//libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0//libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  skipping incompatible /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/libgcc.a when  searching for -lgcc 
/usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld:  cannot find -lgcc 
collect2: error: ld returned 1 exit status 

감사합니다.

답변

0

귀하가 말한 것처럼 {gcc|g++}-mulitlib 패키지는 cygwin 패키지 관리자가 제공하지 않습니다.

32 비트 C++ 대상을 빌드하려면 mingw64-i686-gcc-g++ 패키지를 설치하십시오. 은 32 비트 대상에 대한 mingw64 교차 컴파일러입니다. 그런 다음 컴파일러 /usr/bin/i686-w64-mingw32-g++으로 빌드하십시오. -m32 옵션이 필요하지 않습니다.

관련 문제