2016-09-03 4 views
2

방금 ​​첫 Qt 프로그램을 끝냈습니다. MinGW 32 비트 컴파일러로 컴파일했습니다. 내 컴퓨터에 Qt를 설치할 때 필요한 모든 dll 파일을 설치했습니다.다른 컴퓨터에서 Qt 앱 실행

프로필/디버그/출시 후 내 컴퓨터에서 앱을 성공적으로 실행할 수 있습니다.

하지만 .. 두 번째 컴퓨터 (Windows 10)에서 누락 된 dll 파일에 대한 오류가 표시됩니다. Qtguid.dll, qtwidgets 외 다수. 누락 된 dll 파일을 프로그램 디렉토리에 넣으려고했습니다. 새 오류가 발생했습니다 (예 : 0xc00007b).

dll 파일로 이러한 문제를 해결하려면 어떻게해야합니까? 이 앱을 다른 PC에서 실행할 수있게하려면 어떻게해야합니까?

+1

"두 번째 컴퓨터 (또한 Windows 10)에서"해당 PC도 32 비트입니까? 32 비트 프로그램을 64 비트 OS와 혼합하거나 그 반대의 경우도 마찬가지입니다. – Skywrath

+0

처음에는 기본 응용 프로그램 배포에 대해 자세히 알아야합니다. 'QtGuid.dll'에 대한 메시지를 볼 때 디버그 프로그램을 배포하려고합니다. 두 번째로 [Qt 응용 프로그램 배포] (http://doc.qt.io/qt-5/deployment.html)에 대해 자세히 알아보십시오. – ilotXXI

답변

3

Windows에서 앱을 컴파일하는 경우 32 비트 버전과 호환되며 x64 비트 버전과 호환됩니다. Qt dll 만 사용하는 경우 Windows 7 또는 10에서 응용 프로그램을 실행해도 문제가 없습니다.

Qt Deployment Documentation을 확인하고 windeployqt을 사용하여 필요한 모든 dll 파일을 가져 오는 것이 좋습니다. 기본적으로 :

  1. 앱을 출시 모드로 컴파일합니다.
  2. 새 폴더를 만들고 생성 된 exe 파일을이 폴더에 복사하십시오.

    cd C:/myFolderwindeployqt .

Windeployqt이 폴더에 필요한 모든 파일을 복사합니다 : Qt는 Mingw32 (또는 MSVC) 명령 promp 및 폴더로 이동하고 실행에

  • 대한 액세스. 프로세스가 완료되면 앱을 실행하십시오. rar 또는 zip으로 폴더를 압축하고 다른 컴퓨터에서 테스트하십시오.

    • 문제가 계속 발생하면 DependencyWalker을 사용하여 필요한 dll을 확인하십시오. 폴더에 필요한 파일을 복사하십시오.
    • 모두 정상적으로 작동하면 InnoSetup을 사용하여 설치 프로그램을 만들 수 있습니다.
  • 관련 문제