2010-06-29 4 views
3

Qt 응용 프로그램을 빌드하기 위해 Windows에서 MinGW와 함께 Qt 4.6.3을 사용하고 있으며 이제 응용 프로그램에 COM 인터페이스를 추가해야합니다. 나는 ActiveQt를 가능하게했지만 MIDL 컴파일러의 사본이 누락 되었기 때문에 링크 오류가 발생했습니다. MIDL을 포함하는 최신 MS Windows SDK의 복사본을 다운로드했지만 이제는 cl.exe를 찾을 수 없다는 메시지가 MIDL에 표시됩니다. 내가 그릴 수있는 유일한 결론은 MS 컴파일러를 사용하여 ActiveQt 응용 프로그램을 빌드 할 수 있다는 것입니다. MinGW에서이 작업을 수행하는 방법입니까 아니면 운이 좋을까요?MinGW로 ActiveQt (COM) 응용 프로그램 만들기

답변

2

MS 컴파일러와 도구를 사용하면이 작업을 수행하는 유일한 신뢰할 수있는 방법 인 것 같습니다.

1

글쎄, 당신은 MinGW로 ActiveQt를 만들 수 있지만 그 위에 COM 물건들을 사용하는 것은 가능하지 않을 수도 있습니다. MinGW에 존재하거나 존재하지 않을 수도 있기 때문입니다. 작동하지 않습니다는 MinGW 어떤 MS SDK 도구를 사용하여

  1. (예외가 mingw.org + DXSDK 대부분의 시간을 작동해야하는이다) : 일부의 생각.

  2. 컴파일 할 때 필요한 모든 라이브러리를 링크 하시겠습니까? 정확한 오류 메시지를 표시하지 않으면 더 많은 도움을 줄 수 없습니다.

  3. mingw-w32/w64 project은 "Windows SDK for GCC"를 제공하려고 시도합니다. 찾고있는 라이브러리/파일이 포함될 수 있습니다. 그들은 x64와 x86 컴파일러를 제공하고 꽤 좋은 DX를 지원합니다. 나는 그들의 COM 물건에 대한 경험이 없지만 그것이 mingw.org보다 조금 더 완벽 할 것이라고 나는 믿는다. 언제든지 포럼이나 메일 링리스트에서 개발자에게 연락하면 도움이됩니다.

+0

앱이 잘 연결됩니다. 문제는 MIDL을 시작하는 포스트 링크 단계입니다. MIDL은 cl.exe (MS 컴파일러)를 원합니다. – Rob

1

midl, widl의 Wine 구현을 시도해 볼 수 있습니다. Windows에서의 빌드와 관련하여 와인 wiki page을 참조하십시오.

빨리 실행하려면 wine-prgs-0.9.14-mingw.zip을 얻고 작동 방법을 확인하십시오.

1

Rob의 두 번째 게시물에 동의합니다. ActiveX 객체를 생성하기 위해 mingw를 사용하는 것은 매우 나쁜 일입니다. Mingw에는 ActiveX와 관련된 몇 가지 버그가 있습니다. https://bugzilla.mozilla.org/show_bug.cgi?id=203299https://qt.gitorious.org/qt/qt/merge_requests/2710. 나는 그것을 발견하기 위해 하루 종일 죽인다. 대신 MSVS에 Qt를 사용하면 모든 것이 괜찮습니다. ;)

나는이 문제를 다음 방법으로 해결했습니다
0

:

있어 QtCreator, Msys2 및 VS2015 커뮤니티를 설치했습니다. 배치 스크립트와 Qt는 창조주를 시작

:

@echo off 
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 8.1 

setlocal 
set MSYSTEM=MINGW32 
set MSYS2_PATH_TYPE=inherit 
start "" "C:\msys64\usr\bin\mintty" -i /msys2.ico -e /usr/bin/bash --login -c "/c/Qt/Tools/QtCreator/bin/qtcreator.exe" 

exit /b 0 

내 프로젝트에 제 3 자를 구축하는 데 필요한 STANDART 유닉스 도구를 제공하기 때문에 내가 Msys2의 envioronment에서 QtCreator를 시작하고 있습니다. 이론적으로 이것은 Msys2를 가지고 있어야하는 것은 아닙니다.

참고 :은 PATH 변수에 midl.exe가 없으므로 WinSDK 10.0 (이상)을 사용하지 마십시오.

이렇게하면 Qt Creator를 사용하는 PATH 환경 변수가 최우선 순위 (Qt ​​설치시 gcc를 사용하게 됨), 다음 Msys2 (표준 UNIX 도구를 사용할 수 있음) 및 MSVC 및 WinSDK 8.1이 마지막 위치에 생성됩니다 당신은 midl 컴파일러를 찾을 것입니다.

지금은 dll을 빌드하고 중간 형식 WinSDK로 전달했지만 지금은 시스템에 등록하려고합니다.