program tip

gcc / g ++를 사용하여 Linux에서 Windows 용으로 컴파일하는 방법은 무엇입니까?

radiobox 2020. 8. 27. 07:39
반응형

gcc / g ++를 사용하여 Linux에서 Windows 용으로 컴파일하는 방법은 무엇입니까?


Linux에서 freeglut를 사용하여 C ++ (g ++)로 일부 효과를 작성했으며 다음으로 컴파일합니다.

g++ -Wall -lglut part8.cpp -o part8

그래서 g ++가 필요한 모든 것이 포함 된 정적 컴파일 된 Windows 실행 파일을 만들 수 있는지 궁금합니다.

나는 Windows가 없으므로 Linux에서 할 수 있다면 정말 멋질 것입니다. :)


mingw32는 Linux 용 패키지로 존재합니다. Windows 응용 프로그램을 교차 컴파일하고 연결할 수 있습니다. 여기 Code :: Blocks 포럼에 튜토리얼이 있습니다 . x86_64-w64-mingw32-gcc-win32예를 들어 명령이로 변경됩니다 .

예를 들어, 우분투는 저장소에 MinGW가 있습니다.

$ apt-cache search mingw
[...]
g++-mingw-w64 - GNU C++ compiler for MinGW-w64
gcc-mingw-w64 - GNU C compiler for MinGW-w64
mingw-w64 - Development environment targeting 32- and 64-bit Windows
[...]

Linux에서 Windows 용으로 컴파일하는 한 가지 옵션은 mingw를 사용하는 것입니다. 여기서 매우 유용한 자습서를 찾았 습니다 .

Debian 기반 시스템에 mingw32를 설치하려면 다음 명령을 실행합니다.
sudo apt-get install mingw32 mingw32-binutils mingw32-runtime

코드를 컴파일하려면 다음과 같이 사용할 수 있습니다.
i586-mingw32msvc-g++ -o myApp.exe myApp.cpp

때때로 Linux에서 직접 새 Windows 애플리케이션을 테스트하고 싶을 것입니다. 와인을 사용할 수 있지만 와인에는 벌레가있을 수 있다는 점을 항상 염두에 두어야합니다. 즉, 와인이나 프로그램 또는 둘 다에 버그가 있는지 확실하지 않을 수 있으므로 일반적인 테스트에만 와인을 사용하십시오.

와인을 설치하려면 다음을 실행하십시오.
sudo apt-get install wine


제안 된 방법으로 Ubuntu 16.04에서 오류가 발생했습니다. E : 패키지 mingw32를 찾을 수 없습니다.

================================================ ========================

Ubuntu에이 패키지를 설치하려면 다음을 사용하십시오.

sudo apt-get install mingw-w64

설치 후 사용할 수 있습니다.

x86_64-w64-mingw32-g++

참고하십시오!

64 비트 사용 : x86_64-w64-mingw32-gc ++

32 비트 사용 : i686-w64-mingw32-g ++


패키지 관리자에서 mingw64와 같은 크로스 컴파일러를 설치하십시오. 그런 다음 32 비트 Windows 또는 64 비트 Windows에 대한 호출을 gcc호출 i686-w64-mingw32-gcc하는 대신 다음과 같은 방법으로 컴파일 x86_64-w64-mingw32-gcc"하십시오. --static대상 시스템에 모든 라이브러리가 없을 수도 있으므로 옵션 을 사용합니다 .

당신이 포트란 같은 다른 언어를 컴파일하려면, 대신 -gcc-gfortran이전 명령한다.


Linux에서 mingw를 사용하여 C에서 Windows 실행 파일을 만들었는데 C ++도 작동 할 것이라고 생각합니다.

clang 및 기타 것들을 크로스 컴파일러 도구 체인으로 패키지화하는 프로젝트 ELLCC가 있습니다. Windows 용 clang (C ++), binutils 및 GDB를 컴파일하는 데 사용합니다. 여러 Linux 호스트 용으로 사전 컴파일 된 바이너리를 보려면 ellcc.org 의 다운로드 링크를 따르십시오 .


출처 : https://fedoraproject.org/wiki/MinGW/Tutorial

Fedora 17부터 win32 및 win64 대상에 대한 바이너리를 쉽게 빌드 (교차 컴파일) 할 수 있습니다. 이것은 mingw-w64 툴체인을 사용하여 실현됩니다 : http://mingw-w64.sf.net/ . 이 도구 모음을 사용하면 C, C ++, Objective-C, Objective-C ++ 및 Fortran과 같은 프로그래밍 언어에 대한 바이너리를 빌드 할 수 있습니다.

"Windows 크로스 컴파일러 사용을위한 팁과 요령": https://fedoraproject.org/wiki/MinGW/Tips


Fedora의 경우

sudo yum groupinstall -y "MinGW cross-compiler"

참고 URL : https://stackoverflow.com/questions/2033997/how-to-compile-for-windows-on-linux-with-gcc-g

반응형