2015-01-14 3 views
0

이상적으로 GCC를 사용하는 64 비트 Linux에서는 다른 타사 라이브러리를 링크하는 QT 기반 응용 프로그램을 컴파일하고 싶지만 64 비트 Windows 대상. 다시 말하면, Visual Studio에서 동일한 소스 코드를 컴파일 한 것처럼 런타임 런타임을 지원하지 않고도 결과를 64 비트 Windows에서 실행하는 것이 이상적입니다. MinGW-w64에서도 가능합니까?Linux에서 GCC를 사용하여 Windows 용 Qt 응용 프로그램을 교차 컴파일

Windows에서 GCC로 간단한 응용 프로그램을 컴파일하기 위해 MinGW-w64를 성공적으로 사용했습니다. MinGW-w64 설치의 얼마나 많은 부분이 GCC 컴파일 환경을 지원하는 것과는 달리 실행 파일에 대한 런타임 지원인지는 잘 모르겠습니다. MinGW-w64없이 Windows 설치시 WinGW-w64 hello world 실행 파일을 실행하려고했지만 dll 오류가 누락되었습니다. 이것은 런타임 지원이 필요하다는 것을 말해 주지만 필요한 것이 무엇인지 더 정확하게 알고 싶습니다.

+0

VM을 통해 Windows에서 빌드 할 수없는 이유는 무엇입니까? 그것은 크로스 컴파일보다 훨씬 간단하며 동일한 환경에서 실제로 테스트를 수행 할 수 있습니다. – cmannett85

+0

@ cmannett85 일반적으로 두 개발 환경을 유지 관리하는 데 소요되는 오버 헤드 비용이 큽니다. 물론 두 플랫폼 모두에서 테스트해야하지만 Linux에서만 개발하고 싶습니다. – ThomasMcLeod

+0

3 개 OS 환경에서 3 개의 개발 환경에서 작동하고 ARM을 위해 크로스 컴파일하는 사람은 "큰 오버 헤드"가 없다는 것을 확신합니다. @Nejat이 지적했듯이, Windows에서 개발하고 테스트하지 않고 구축 및 테스트 할 수 있습니다. – cmannett85

답변

0

Windows를 설치하지 않으려면 가상 컴퓨터를 사용하는 것이 가장 좋은 방법이라고 생각합니다. 소스 코드가 Windows 용으로 컴파일 되더라도 어떻게 실행되는지 확인할 수 있기 때문입니다. 최종적으로 응용 프로그램을 테스트하려면 실제 대상 환경이 필요합니다.

복잡한 관점에서 Qt에 필요한 Windows 환경 (VM인지 여부)을 설정하고 필요한 환경을 버그 사냥을 크로스 컴파일하는 것보다 훨씬 간단하다고 생각합니다.

설치된 Windows에 Qt를 설치하고 프로젝트를 복사 한 다음 컴파일하여 실제 환경에서 결과를 볼 수 있습니다. 이렇게하면 한 OS에서 다른 OS로 쉽게 이식 할 때 사소한 차이에 대처할 수 있습니다.

Linux에서의 개발을 방해하는 것은 없습니다. Linux에서 전체 개발을 수행 할 수 있으며 컴파일 및 실행을 통해 준비된 Windows에서 코드를 테스트 할 수 있습니다. git을 사용하면 Windows 환경에 코드를 보내는 것이 간단합니다.

  • 이 응용 프로그램의 저장소를 확인 모두 리눅스와 윈도우
  • 리눅스에서 주요 개발을 수시로 Windows에서
  • 풀을 밀어에 저장소를 복제, : 같은 개발 과정이 될 수 있습니다 컴파일, 테스트 및 사소한 수정을 한 후 푸시
+0

질문에 답변 하시겠습니까? Windows에서 실행되는 실행 파일을 생성하기 위해 Linux에서 GCC를 실행하고 싶습니다. 그게 제가 알고 싶은 것입니다. – ThomasMcLeod