본문 바로가기
SWE/Qt

Visual studio 와 Qt 연동 시 에러 해결 방법 - 환경 설정 확인하기

by S나라라2 2021. 5. 31.
반응형

다른 버전의 Visual Studio에서 만든 프로젝트를 가져오기하면 빌드 에러가 정말 많이 나온다.  

Qt 라이브러리도 못찾고 플랫폼 버전 업그레이드 에러도  뜨고 등등... 

(물론 내가 Qt 버전 여러개를 설치했고, Visual studio 버전 여러개를 설치해서 더 꼬였을 수도 있음)

 

[에러 예시]

- msvcprtd.lib 을 열 수 없습니다.

- Qt5Cored.dll이 없어 코드 실행을 진행할 수 없습니다.

 

 

어쨋든 이런 문제들이 있을 때는, 아래의 항목들은 모두 확인하면 해결이 가능하다.

 

Qt 프로젝트 환경 설정 확인 사항                                                                                                

확인해야할 요소들은 다음과 같다.

1. Qt Options에서 Qt version 확인하기
2. 프로젝트 속성에서 Qt Project Settings의 version선택하기
3. Qt Project Settings의 Qt Modules 
*시스템 환경 변수 설정
4. C++에서 'Additional Include Directories'
5. Linker에서 'Additional Library Directories'
6. Platform toolset 버전 수정

환경설정에서 놓친 부분을 찾아서 단계별로 하나씩 확인해나가기

 

 

1. Qt Options에서 Qt version 확인하기

비주얼 스튜디오의 상단 메뉴바 > QT VS TOOLS > Qt Options

프로젝트를 컴파일시킬 Qt 버전 선택하기

 

* VS의 상단 메뉴 바에 'Qt VS Tools' 가 없다면 Qt 확장자를 설치하지 않은 것이다. -> 설치부터 하기! https://flower0.tistory.com/354?category=827995

 

* Qt 버전이 자동으로 detect되지 않았다면 직접 추가해줄 수 있다.

Qt 폴더의 qmake.exe가 있는 위치를 path에 기입하면 된다. 보통 bin 폴더 아래에 있다.

C:\Qt\Qt5.14.0\5.14.0\msvc2017\bin

캡쳐 이미지 상에서는 가장 뒤 /bin이 생략되어 있다 (왜지..?)

 

2. 프로젝트 속성에서 Qt Project Settings의 version선택하기

프로젝트 탐색기> 프로젝트 마우스 우측 버튼 클릭 > Qt Project Settings > Properties> Version

Qt Project Settings 의 Properties 탭에서 version 위에서 선택한 것과 같은 것으로 선택!

 

3. Qt Project Settings의 Qt Modules 

프로젝트에서 사용되고 있는 모듈 추가하기 

ex. QWidget, QML, ...

 

*시스템 환경 변수 설정 (각자 Qt설치한 버전에 맞게 수정하여 추가하기)

윈도우키+S > 시스템 환경 변수 설정 > 환경 변수

시스템 변수에서 아래 추가하기

Path 편집 : C:\Qt\Qt5.9.9\5.9.9\msvc2013_64\bin 

QTDIR 추가 : C:\Qt\Qt5.9.9\5.9.9\msvc2013_64

Qt_LIBS 추가 : C:\Qt\Qt5.9.9\5.9.9\msvc2013_64\lib

 

4. Proejct 솔루션의 Properties에서 C++ 'Additional Include Directories'

프로젝트 탐색기> 프로젝트 마우스 우측 버튼 클릭 > Properties > Configuration Properties > C/C++ > General > Additional Include Directories

$(QTDIR)\include

$(QTDIR)\include\QtCore, $(QTDIR)\include\QtGui, ... 등 내가 사용하는 모듈들 모두 추가되어 있어야 함. <- 이것의 경우 위의 3번 설정을 잘 이행했다면 자동으로 생김. 만약 안생겼다면 3번에 체크한 모듈을 uncheck한 후 설정 확인하고 다시 실행해보기!

 

5. Proejct 솔루션의 Properties에서 Linker 'Additional Library Directories'

$(Qt_LIBS_)

 

*Visual studio 낮은 버전에서 만든 프로젝트를 가져오기 했을 때

6. Project 솔루션의 Properties에서 Platform toolset 버전 수정

프로젝트 탐색기> 프로젝트 마우스 우측 버튼 클릭 > Properties > Configuration Properties>General>General>Platform Toolset 비주얼 스튜디오 버전 변경

 


추가

VS프로젝트에서 Qt 라이브러리 찾지 못할 때

위에 환경 설정 다 확인했는데 놓친 부분이 있었다.

 

[프로젝트>속성 페이지>구성속성>디버깅>환경] 위치에 아래 경로 추가하기

PATH=$(QTDIR)\bin;%PATH%

 


추가

 

위의 환경 설정들을 모두 확인했는데도, 그리고 문제의 내용이 아래와 일치하지만, 문제가 해결되지 않는다면 아래를 참고하자. 

 

문제 : 빌드는 성공하였으나, 프로그램을 실행시키면 아래와 같은 에러 팝업창이 뜬다.

 

에러 내용:Qt5Cored.dll을 찾을 수 없습니다. (혹은 다른 Qt dll들)

 

원인: 처음 빌드할 때 '디버깅 모드'로 빌드하고, 나중에 실행할 때 'release모드'로 실행하고 있을 수 있다.

실행 할 때도 빌드할 때와 동일하게 '디버깅 모드'로 해줘야 한다.

 

출처: https://stackoverflow.com/questions/22960540/qt5cored-dll-missing-when-trying-to-run-application


 

위의 환경 설정들 다 확인해보면 거의 문제 없이 돌아갈 것임!!!!!!!!!!

빼놓은 게 있으면 그때그때 추가하겠음! 

 

환경 설정 문제 생겼다고 프로그램 제거했다가 다시 설치하지 말자 ✨✨

 


Visual studio에 Qt 연동하는 방법 (설치) :
https://flower0.tistory.com/354

 

Visual studio에 Qt 연동하기 - 설치 방법

Visual Studio에 Qt 연동하기 보통 Qt Creator로 많이 개발하는 것 같다. 그러나 나는 Windows에서 Visual studio 에서 Qt를 연동하여 개발해보자. visual studio에 qt 연동하기 위해 필요한 항목 1. Qt 설치 2. V..

flower0.tistory.com

 

Visual Studio에서 Qt 프로젝트 생성하는 방법 : 

https://flower0.tistory.com/356

 

Visual Studio에서 Qt 프로젝트 생성하는 방법 | Qt 환경 변수 설정

Qt 프로젝트 생성하는 방법 Visual Stduio와 Qt VS Tools 을 모두 설치하였다면 프로젝트 생성방법은 매우 쉽다. 만약, 사전 설치가 안되어 있다면 아래의 링크를 먼저 보고 오는 것이 좋다. Visual studio, Q

flower0.tistory.com

 

반응형