it-swarm-ko.tech

Linux에서 MinGW 크로스 컴파일러를 어떻게 호출합니까?

Windows 용 크로스 컴파일하려는 프로젝트가 있습니다. 적절한 Makefile이 있고 모든 것이 g++. 나는 뛰었다

$ apt install mingw-w64

500MB의 패키지를 다운로드했지만 실제로 실행하는 방법을 찾을 수 없습니다. mingw 실행 파일이 없으므로 실제로 어떻게 컴파일합니까?

22
Martin Melka

Ubuntu 패키지 웹 서버에서 mingw-w64의 구성 패키지 :

mingw-w64 툴체인 , 즉 다른 시스템에 대한 코드를 컴파일하는 데 사용되는 대체 도구 (컴파일러, 링커, 헤더 등)를 제공합니다.

64 비트 시스템에 대해 C++ 코드를 컴파일하려는 경우 /usr/bin/x86_64-w64-mingw32-g++-win32. CXX 환경 변수를 사용하여 대부분의 Makefile이 해당 컴파일러를 사용하여 코드를 컴파일하도록 지시 할 수 있습니다.

14
gipi

또 다른 옵션은 Mingw Cross Environment ( MXE )를 살펴 보는 것인데, 이는 특히 Linux에서 Windows로 (그리고 최근에는 Mac으로) 크로스 컴파일을 목표로합니다. . 이 패키지에는 다수의 라이브러리를위한 bult-in xupport가 있으며 개발 중에 있습니다. 웹 사이트를 살펴보고 귀하의 요구에 맞는지 확인하십시오.

그건 그렇고, 릴리스 버전보다는 개발을 사용하는 것이 좋습니다. 이는 라이브러리의 패키지 관리자가 URL을 변경하여 MXE 릴리스 버전이 손상되기 때문에 릴리스 버전이 일반적으로 매우 오래되기 때문입니다. 개발 버전은 일반적으로 최신 버전입니다.

6
Bart

Postgres를 크로스 컴파일하기 위해 이것을 사용했습니다.

$ Sudo apt-get install mingw-w64
$ ./configure --Host=i686-w64-mingw32 --without-zlib #  32 bit
# or --Host=x86_64-w64-mingw32  64 bit

심판 여기

다른 프로젝트는 ffmpeg와 같이 다르게 수행합니다.

 ./configure --target-os=mingw32 --cross-prefix=i686-w64-mingw32-

또는 일부

  ./configure CC=i686-w64-mingw32-gcc ...

gL 등!

5
rogerdpack

여기에 mingw g++ 크로스 컴파일러 :

$ ./configure --with-mingw-cross-compiler=g++-mingw-w64-i686
0
user8128167