Windows 용 Linux에서 Qt 5 빌드
대신 Qt 5를 사용하도록 Qt 4 앱을 마이그레이션하고 싶었습니다. 이러한 지침은 MXE가 Qt 5를 빌드 하는 방법과의 일부 차이로 인해 실패했습니다. 여기에는 하나의 큰 타르볼 대신 모듈화 된 Qt 타르볼을 사용한다는 사실이 포함됩니다.
전체 지침은 다음과 같습니다.
그것을 얻으십시오 :
git clone https://github.com/mxe/mxe.git
빌드 종속성 설치
Windows 용 Qt 5 빌드 :
cd mxe && make qtbase
이것은 먼저 종속성과 교차 빌드 도구를 빌드합니다. 괜찮은 인터넷 접속이 가능한 빠른 기계에서는 1 시간도 채 걸리지 않습니다.
Qt 5의 새로운 모듈 특성으로 인해 다양한 주요 Qt 구성 요소가 이제 다른 tarball에 있습니다. 위에서 선택한
qtbase
,는 일반 GUI 앱을 실행하기에 충분한 기능을 제공해야하며, 이는 내 자신의 (작은) 앱에 필요한 전부입니다.대신 Qt 5를 모두 빌드하려면
make qt5
(대신make qtbase
) 실행해야합니다 . 완료하는 데 훨씬 오래 걸리므로 추가 기능이 필요한지 확인하십시오.앱의 디렉토리로 이동하여 Qt Makefile 생성기 도구를 실행합니다.
<mxe root>/usr/bin/i686-w64-mingw32.static-qmake-qt5
프로젝트 빌드 :
make
./release 디렉토리에서 바이너리를 찾아야합니다.
wine release/foo.exe
몇 가지 참고 사항 :
이것은 내 64 비트 데비안 8과 물론 Windows에서 테스트되었습니다.
출력은 32 비트 정적 실행 파일이며 64 비트 Windows에서 잘 작동합니다.
64 비트 실행 파일을 원하면 다음을 사용하여 Qt를 빌드하십시오.
make MXE_TARGETS=x86_64-w64-mingw32.static qtbase
기본값
MXE_TARGETS
은i686-w64-mingw32.static
입니다.
git checkout 명령이 올바르지 않습니다. 이제 안정적인 분기를 가져와야합니다. 그렇지 않으면 구축에 실패합니다.
git clone https://github.com/mxe/mxe.git
해야한다...
git clone -b stable https://github.com/mxe/mxe.git
그것만으로도 qtbase 건물에 대한 모든 문제가 해결되었지만 완료되면 qt 폴더가 남지 않았습니다. 그러면 qt5 대상이 모호한 오류로 실패합니다. 폴더를 삭제하고 안정적으로 체크 아웃했으며 완벽하게 작동했습니다.
당신이 이것을 시도하면, 나를 위해 잘 작동합니다!
su
mv mxe /opt/mxe
cd /opt/mxe && make
참조 URL : https://stackoverflow.com/questions/14170590/building-qt-5-on-linux-for-windows
'programing' 카테고리의 다른 글
BASH에서 "CLS"와 동일합니까? (0) | 2021.01.14 |
---|---|
getSupportFragmentManager ()가 정의되지 않았습니다. (0) | 2021.01.14 |
Java 예외에 대해 가능한 한 많은 정보를 기록하는 방법은 무엇입니까? (0) | 2021.01.14 |
Pandas에서 MultiIndex 인덱스 열 값을 쿼리하는 방법 (0) | 2021.01.14 |
Net.Reflector의 "네임 스페이스는 필드 또는 메서드와 같은 멤버를 직접 포함 할 수 없습니다." (0) | 2021.01.14 |