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
'program tip' 카테고리의 다른 글
JavaScript에서 변수 할당은 어떻게 작동합니까? (0) | 2020.08.27 |
---|---|
MATLAB의지도 기능? (0) | 2020.08.27 |
다른 프로그래밍 언어로 쉽게 번역 할 수 있도록 코드에 어떤 종류의 패턴을 적용 할 수 있습니까? (0) | 2020.08.27 |
PHP 5.4에서 엄격한 표준 비활성화 (0) | 2020.08.27 |
Java에서 오류 방지 및 오류 방지 반복기는 무엇입니까? (0) | 2020.08.27 |