Qt 를 설치하면 설치된 경로에 각 버전별로 bin 폴더 안에 windeployqt.exe 파일이 존재한다.

이 실행파일이 qt 로 컴파일하여 만들어진 .exe 파일의 의존성이 있는 dll 파일을들 한번에 쉽게 복사해 주는데 방법은 아래와 같음.


1. 자동 (필요이상의 많은 dll 이 복사)

Qt 를 설치하면 시작 메뉴에 qt 디렉토리에 각 컴파일러별 cmd 창을 오픈 하는것이 있다.


cmd 창을 열어서 해당 컴파일러의 bin 폴더 까지 이동후


windeployqt.exe /path/to/.exe file 을 하면 exe 파일이 있는 폴더에 자동으로 관련된 dll 및 폴더들을 생성해 준다.



2. 수동 (딱 필요한 부분만 복사)

.exe 파일을 실행시키면 "~~~"한 dll 이 없어 실행 안됨 이라는 경고 창을 볼수 있음.

qt 가 설치된 폴더에서 해당 컴파일러의 bin 폴더에가면 해당 dll이 있음. 같은 폴더로 복사함.


위의 해당 문구가 나오지 않을때 까지 실행시켜가며, 복사


이 경우에 플렛폼 폴더 라든지 이미지와 관련된 폴더등을 놓치게 될경우.. exe 실행은 되지만 필요한 기능이 동작하지 않을 수 있어 자신이 어떤부분이 필요한지 잘 생각 해봐야 함. 



권장 방법.


1의 방법으로 실행하고 

다른 폴더에서 exe 파일만 옮겨서 2의 방법으로 실행시키며 필요한 dll 만 걸러냄.


이미지 파일을 포함한 실행파일을 만들고, Qt dll 을 포함하여 배포할 때 이미지가 나오지 않는 경우가 있다.


해결방법

\Qt 설치 폴더\버전\컴파일러종류\plugins\imageformats 폴더를 함께 배포한다.

ADD a below sentence to .pro file

win32: RC_ICONS = PATH/TO/ICON/icon.ico

"this application failed to start because it could not find or load the qt platform plugin windows"

qt 로 프로그램을 만들고 배포를 할때 필수 dll 파일들을 첨부하였는데도 불구하고 위와같은 문구가 뜰경우에


falsinsoft.blogspot.kr/2013/09/qt-5-and-failed-to-load-platform-plugin.html 참조


내용

libEGL.dll 을 어플 배포 필수 dll 들과 함께 추가 해놓고, 

.exe 파일이 있는 같은 폴더에 platforms 라는 폴더를 만들고 그 안에 qwindows.dll 을 넣어두면 실행 된다.


qwindows.dll 파일 등은 QT 가 설치된 폴더내의 각 플렛폼 별로 들어 있으므로 찾아서 넣어야 함.

Ubuntu 에서

Creator need a compiler set up buil. Configure a compiler in the kit options

라는 에러 문구 나올때

sudo apt-get install g++

restarte computer

sudo pat-get install libgl1-mesa-dev libglu1-mesa-dev



이렇게 한 후 컴파일시

"Could not start process "make"..

위와 같은 에러 발생시

 apt-get install build-essential 설치



gdb 에러 발생시

apt-get install gdb 추가로 설치

해당 프로젝트에 마우스 오른쪽클릭 -> Add new 를 하거나 혹은 ctrl+N(단축키) 를 누르면 New 라는 팝업 화면이 뜬다.

여기서 Files and Classes 목록에 Qt 를 선택하면 오른쪽에 목록이 나오고 목록중에 Qt Resource file 을 선택하고 Choose... 버튼을 누른다.

New Qt Resource file 창이 뜨고 리소스파일(.qrc) 의 이름과 생성 위치를 정하는 부분이 나온다.

적당한 이름을 작성하고 적당한위치(프로젝트폴더)른 선택한 후 Next 버튼 -> Finish 버튼을 누른다.

프로젝트 폴더 안에 Resources 라는 폴더가 생기고 그 아래에 xxx.qrc 라는 리소스 파일이 생성된다.

더블클릭하여 오른쪽 창에서 Add Prefix 를 선택하면 트리 구조의 리스트가 생성되고 그 리스트를 선택하여 Add Files 해서 추가할 Resource 파일을 선택하면된다.

프로그램 소스에서 사용방법은 :/prefix이름/리소스이름.확장자 를 이용하여 사용하면된다.

예) prefix : /image  , resource: test.png 일때

프로그램에서 ":/image/test.png" 로 해당 리소스를 이용 할 수 있다.

QT 를 설치한 폴더에 컴파일러 폴더에 bin 폴더 안에 들어가면 uic.exe 파일이 있다

이파일을 이요하여 .ui 파일을 .h 파일로 변환 가능

명령프롬프트에서 uic 가 있는 경로까지 디렉토리를 옮겨서

다음과 같이 명령어를 입력하면

 uic xxx.ui > xxx.h

헤더파일로 변경되어 출력된다.

+ Recent posts