Linux에서 freeglut를 사용하여 C ++ (g ++)로 일부 효과를 작성했으며 다음으로 컴파일합니다.
g++ -Wall -lglut part8.cpp -o part8
그래서 g ++가 필요한 모든 것을 포함하는 정적 컴파일 된 Windows 실행 파일을 만들 수 있는지 궁금합니다.
나는 Windows가 없으므로 Linux에서 할 수 있다면 정말 멋질 것입니다. :)
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
코드를 컴파일하려면 다음과 같이 사용할 수 있습니다.
i586-mingw32msvc-g++ -o myApp.exe myApp.cpp
때때로 Linux에서 직접 새 Windows 애플리케이션을 테스트하고 싶을 것입니다. 와인을 사용할 수 있지만 와인에는 벌레가있을 수 있다는 점을 항상 염두에 두어야합니다. 즉, 와인이나 프로그램 또는 둘 다에 버그가 있는지 확실하지 않을 수 있으므로 일반적인 테스트에만 와인을 사용하십시오.
와인을 설치하려면 다음을 실행하십시오.
sudo apt-get install wine
mingw32-binutils
및 mingw32-runtime
그들은의 의존성 때문에mingw32
void main(){}
등 ...)가있었습니다. Windows에서는 컴파일되지만 mingw에서는 실패한 것 같습니다. 수정했습니다. 나는 또한 시도 i586-mingw32msvc-cpp
하고 컴파일 될 것들과 같은 텍스트 파일을 생성했습니다. .. g ++ 하나가 작동했습니다, thx!
mingw32
( "종속성"로 표시됩니다. 지정하지 않으면 "수동"으로 표시됨).
제안 된 방법으로 Ubuntu 16.04에서 오류가 발생했습니다. E : 패키지 mingw32를 찾을 수 없습니다.
================================================= =========================
Ubuntu에이 패키지를 설치하려면 다음을 사용하십시오.
sudo apt-get install mingw-w64
설치 후 사용할 수 있습니다.
x86_64-w64-mingw32-g++
참고하십시오!
64 비트 사용 : x86_64-w64-mingw32-g ++
32 비트 사용 : i686-w64-mingw32-g ++
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"