Linux에서 Windows로 C++ 애플리케이션을 크로스 컴파일하기 위한 매뉴얼이 있습니까?
-
06-07-2019 - |
문제
C++ 애플리케이션을 Linux에서 Windows로 크로스 컴파일하기 위한 매뉴얼이 있습니까?
바로 그거야.그렇게 하는 데 도움이 되는 몇 가지 정보(링크, 참조, 예...)를 원합니다.
가능한지조차 모르겠습니다.
내 목표는 Linux에서 프로그램을 컴파일하고 Windows에서 실행할 수 있는 .exe 파일을 얻는 것입니다.
해결책
기본 사항은 그리 어렵지 않습니다.
sudo apt-get install mingw32
cat > main.c <<EOF
int main()
{
printf("Hello, World!");
}
EOF
i586-mingw32msvc-cc main.c -o hello.exe
바꾸다 apt-get
~와 함께 yum
, 또는 Linux 배포판이 사용하는 모든 것.그러면 hello.exe
Windows용.
일단 머리를 숙이고 나면 다음을 사용할 수 있습니다. 자동 도구, 그리고 설정 CC=i586-mingw32msvc-cc
CC=i586-mingw32msvc-cc ./configure && make
또는 사용 CMake 및 툴체인 파일 빌드를 관리합니다.더 어려운 것은 네이티브 크로스 라이브러리를 추가하는 것입니다.일반적으로 그들은 다음 위치에 저장됩니다. /usr/cross/i586-mingw32msvc/{include,lib}
빌드 프로세스의 구성 단계에서 해당 경로를 별도로 추가해야 합니다.
다른 팁
그것은 당신이 의미하는 바에 달려 있습니다 (실제로 말할 수 없었습니다).
Windows에서 기존 Linux 애플리케이션을 사용하려는 경우 사용하여 컴파일 할 수 있습니다. Cygwin 창에. 그러나 이것은 Cygwin에 대한 모든 의존성에서 무료로 실행 가능한 Windows 실행 파일을 제공하지 않습니다 (실행 파일은 여전히
cygwin.dll
파일) - 작동하기 전에 약간의 포팅이 필요할 수 있습니다. 보다 http://www.cygwin.com.Linux에서 Windows 애플리케이션의 실제 컴파일을 수행하고 Windows에서 실행 가능한 .exe 파일을 생성하므로 개발 및/또는 컴파일을 위해 Linux 상자를 사용하려면 조사해야합니다. mingw Linux의 경우 Linux의 Windows 용 CrossCompiling을위한 도구 인 Linux의 경우. 보다 http://www.mingw.org/wiki/linuxcrossmingw.
친애하는!
나는 당신이 다음을주는 것이 좋습니다. gub (Grand Unified Builder) 의존성과 여러 패키지를 교차 컴파일하고 현재 11 개의 아키텍처를 위해 단일 설치 패키지로 조립하려고 시도합니다. VM에서 설치하려면 사전 제작 된 ISO를 다운로드 할 수 있습니다. 여기 소스를 따르십시오 여기. 현재 GNU Lilypond / GNU Denemo / Inkscape 및 OpenOffice.org를 교차 컴파일하는 데 사용할 수 있습니다.
대상 아키텍처는 다음과 같습니다.
- Darwin -PPC -TAR.BZ2 DARWIN 7 (MACOS 10.3)/PowerPC 파일
- Darwin -X86 -Darwin 8 용 Tar.bz2 파일 (MacOS 10.4)/x86
- mingw -mingw windows32 용 실행 파일
- Linux -X86- Linux/x86 용 Shar Archive
- Linux -64- Linux/x86_64 용 Shar Archive
- Linux -PPC- Linux/PowerPC 용 Shar Archive
- FreeBSD -X86- FreeBSD 4/x86 용 공유 아카이브
- Freebsd -64- freebsd 6/x86_64 용 공유 아카이브
- cygwin - .tar.bz2 cygwin/windows32 용 패키지
- ARM- Linux/ARM 용 Shar Archive (대부분 테스트되지 않은)
- 데비안 - 데비안을위한 쉐어 아카이브 (대부분 테스트되지 않은)