2014-01-24 4 views
0

저는 현재 C++과 Qt를 사용하여 간단한 계산기를 만들고 있습니다. 하지만 다른 컴퓨터에서 실행할 수 있도록 배포하려면 무엇이 필요합니까? 어떤 Qt dll 파일을 포함시켜야합니까? 배포에 대해 아무것도 모르기 때문에 도움이 필요한 것입니다.Qt 응용 프로그램을 배포하기위한 파일

+1

Google? - https://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html –

답변

1

Qt DLL을 실행 파일의 릴리스 버전에 배치해야합니다. 이것들은 QtCore4.dll, QtGui4.dll 그리고 아마도 당신이 사용한 다른 모듈을위한 것입니다. 이 dll 파일은 설치된 Qt 디렉토리의 bin 폴더에 있습니다. MSVS2010을 사용하는 경우에 대비하여 msvcr100.dll 및 msvcp100.dll도 배치해야합니다. 플러그인을 사용하는 경우에는 exe 폴더 옆에 "plugins"라는 폴더에 dll을 두어야합니다. 아이콘과 이미지를 사용할 경우 "imageformats"라는 폴더에 qico4.dll 및 qsvg4.dll과 같은 dll을 제공해야합니다.

1

이 질문은 이전에 이미 대답 해 왔지만이 경우 Qt 프로젝트 파일에서이 스 니펫을 공유 할 것입니다.

이 예를 들어 당신이 Qt는 당신이 설치하는 적절한 값으로 일부 환경 변수 QTBASE 및 QTVER을 가지고 가정, 그리고 당신이 cpbashmkdir이 있어야합니다 가정. 또는 파일을 복사하고 디렉토리를 만들 때 일반적으로 사용하는 명령을 사용하도록이 명령을 변경할 수 있습니다.

qwindows.dll의 경로도 확인하십시오. 배포판에 plugins/platforms/qwindows.dll (적어도 설치 한 경우)이지만 배포 복사본에 platforms/qwindows.dll이 있습니다. 적어도 이것이 작동하도록 할 수있는 유일한 방법입니다. 설명서에 언급 된 내용을 기억하지 못했지만 어쩌면 뭔가 놓쳤을 수 있습니다.

# 
# Copy Qt dependencies 
# 
system("cp -vuL %QTBASE%/%QTVER%/mingw48_32/bin/Qt5Core.dll" "$$OUT_PWD") 
system("cp -vuL %QTBASE%/%QTVER%/mingw48_32/bin/Qt5Gui.dll" "$$OUT_PWD") 
system("cp -vuL %QTBASE%/%QTVER%/mingw48_32/bin/Qt5Widgets.dll" "$$OUT_PWD") 
system("cp -vuL %QTBASE%/%QTVER%/mingw48_32/bin/libgcc_s_dw2-1.dll" "$$OUT_PWD") 
system("cp -vuL %QTBASE%/%QTVER%/mingw48_32/bin/libstdc++-6.dll" "$$OUT_PWD") 
system("cp -vuL %QTBASE%/%QTVER%/mingw48_32/bin/libwinpthread-1.dll" "$$OUT_PWD") 
system("cp -vuL %QTBASE%/%QTVER%/mingw48_32/bin/icudt51.dll" "$$OUT_PWD") 
system("cp -vuL %QTBASE%/%QTVER%/mingw48_32/bin/icuin51.dll" "$$OUT_PWD") 
system("cp -vuL %QTBASE%/%QTVER%/mingw48_32/bin/icuuc51.dll" "$$OUT_PWD") 
system("bash -c \"mkdir -p $$OUT_PWD/plugins\"") 
system("bash -c \"mkdir -p $$OUT_PWD/platforms\"") 
system("cp -vuL %QTBASE%/%QTVER%/mingw48_32/plugins/platforms/qwindows.dll" "$$OUT_PWD/platforms/") 
1

QT Creator를 사용한 경우 QT DLL을 실행 파일과 함께 보내야합니다. 즉, DLL은 실행 파일과 동일한 폴더에 있어야합니다. 일반적으로 프로그램은 필요한 DLL을 알려줍니다. QT없이 컴퓨터에서 exe를 시작하려고하면, 무슨 뜻인지 알 수 있습니다.

대신 Microsoft Visual Studio를 사용하는 경우 대상 컴퓨터에 Visual C++ Redistributable도 설치해야합니다.

관련 문제