2016. 12. 1. 18:44ㆍ제2외국어/QT
<상황>
QT Creator(4.1.0)가 업데이트된지는 오래되었는데 귀찮아서 미루다 미루다 결국 재설치를 하였습니다.
예전에 만들어놓은 프로젝트를 새로 설치한 QT Creator에서 열어서 확인을 하는 중에 기존에 사용 중이던 Header를 제대로 읽지 못 하는 문제가 있었습니다.
Compile, Run 하는데 문제는 없지만 코드를 짤 때 자동완성 기능을 사용할 수 없는 치명적인 문제!
ex)
#include <QDialog> #include <QWidget>
이런 기본적인 Header 파일들조차 인식하지 않아서 여러가지 시도를 해보다가,
새로운 프로젝트를 하나 생성 후에 확인 해보니 또 제대로 작동이 되어서 차이점을 찾는 중에 .pro 파일에서 차이점을 찾았습니다.
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
기존 프로젝트 .pro 파일에는 없는 한 줄이 새롭게 만들어진 프로젝트 .pro 파일에 있었는데요
제가 Qt-4에서 작업 중이 었기 때문에 새롭게 설치한 Qt-5에서 해당 헤더파일들을 제대로 가져오지 못 해서 문제가 발생한 것으로 보여집니다.
Qt-5 Doc : http://doc.qt.io/qt-5/gettingstartedqt.html 에서 확인해도 같은 줄이 들어가 있습니다.
1) 직적 Qt 버전을 설정해주는 방법
QT_VERSION = 5 # this can be 4, set manually
equals(QT_VERSION, 5){
QT += widgets
}
equals(QT_VERSION, 4) {
QT += gui
}
2) 자동으로 Qt 버전을 설정하는 방법
greaterThan(QT_MAJOR_VERSION, 4) {
QT += widgets
}
참고한 URL : http://stackoverflow.com/questions/18663331/how-to-check-the-selected-version-of-qt-in-a-pro-file
결과적으로 위 두 방법 또는 Qt-5 공식 사이트에서 적혀있는
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
한 줄을 문제가 발생한 프로젝트의 .pro 파일에 추가한다면 이제 자동완성 기능을 사용하실 수 있습니다.
(정상적으로 헤더파일을 읽을 수 있기 때문에...)
Success.
'제2외국어 > QT' 카테고리의 다른 글
[Error]conversion from ‘int64_t {aka long int}’ to ‘QVariant’ is ambiguous (0) | 2017.06.01 |
---|---|
[QT]QString관련 정리 (1) | 2016.11.10 |
[QT]파일 확인하기 (0) | 2016.08.12 |