답변:
이것은 반드시 유닉스 / 리눅스에만 국한되는 것은 아니므로 스택 오버플로에 대해 묻는 것이 좋습니다. QtCreator는 대체 Qt 설치를 감지하는 데 능숙합니다. 새 프로젝트를 만들고 Projects
왼쪽 의 탭을 살펴보십시오 . 다른 빌드 구성을 설정할 수 있습니다. 각 구성에 대해 설치된 여러 버전 중에서 선택할 수있는 드롭 다운 상자가 있어야합니다.
그렇지 않으면 QTDIR
환경 변수가 Qt 버전을 설정하는 데 사용되는 것 같습니다 . 기본적으로 QtCreator는 이것을 /usr/share/qt4
나를 위해 설정하므로 해당 경로 (예 : 구성 파일이있는 경로)로 설정하면 qmake가 다른 버전으로 빌드되어야합니다. 다음과 같이 테스트 할 수 있습니다.
QTDIR=/usr/share/qtX qmake --version
.pro
파일 에서 이것을 설정하는 것이 가능할 수도 있지만, 문서화되지 않은 경우 (많은 qmake
변수가 있는 것처럼) 문서화되지 않습니다.
또한 특정 메이저 버전으로 빌드하려는 경우 qmake
일반적으로 기본 메이저 버전의 바이너리로 심볼릭 링크됩니다. 실제 바이너리는 다음 qmake-qt4
과 같습니다 qmake-qt5
. 또한 데비안 기반 시스템 man qtchooser
의 qtX-default
패키지 도 참조하십시오 .
qtchooser
Ubuntu 13.04 및 13.10에는 Qt 응용 프로그램이 다른 Qt 버전을 감지하는 방식에 영향을 미치는 버그가 있습니다 ( https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1177823 참조) . 이것은 QtCreator에도 영향을 줄 수 있습니다.
-qt=qt5
스위치 또는 QT_SELECT=qt5
환경 변수 를 사용하는 데 도움이되었습니다 .
$ qmake --version
QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu
$ qmake -qt=qt5 --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu
$ QT_SELECT=qt5 qmake --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu
이 더 좋은 방법은 .
변경 사항을 영구적으로 유지하려면 /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
파일 을 수정해야합니다.이 파일은에 대한 심볼릭 링크 ../../../../share/qtchooser/qt4-x86_64-linux-gnu.conf
입니다.
다음은 내 시스템의 예입니다 (Ubuntu 17.10 x64, Qt 5.10.1). 원본 symlink 파일과 대상을 그대로 유지하는 것이 좋습니다 (원래 구성을 복구하려는 경우). 또한 일관성을 위해 기본 위치에 새 파일을 작성하십시오. 단계는 다음과 같습니다.
심볼릭 링크 파일의 이름을 바꾸십시오 :
sudo mv /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf_orig
새 대상 구성 파일을 이름으로 작성하십시오.
gksudo gedit /usr/share/qtchooser/my_Qt_5.10.1_Desktop_gcc_x64.conf
이 파일에는 두 줄이 포함되어야합니다. 첫 번째 줄은 Qt 바이너리 (qmake 포함)의 경로이고 두 번째 줄은 Qt 라이브러리 (.so 파일 포함)의 경로입니다. 내 경우에는
<Qt_dir>/5.10.1/gcc_64/bin
<Qt_dir>/5.10.1/gcc_64/lib
저장하고 닫으십시오. default.conf
새 구성 파일에 대한 심볼릭 링크 를 만듭니다 .
ln -s /usr/share/qtchooser/my_Qt_5.10.1_Destop_gcc_x64.conf /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
Qt 버전을 확인하십시오.
qmake --version
이제 항상 지정된 버전을 사용해야합니다.
위의 답변 중 많은 것이 효과가 있습니다. 그러나 나는 개인적으로 그들 중 어느 것도 영구적이지 않다는 것을 발견했다. 예를 들어 다음 명령을 실행할 수 있습니다.
$ QT_SELECT=qt5 qmake --version
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu
그러나 새 터미널을 열고 Qt 버전을 확인하면 기본값으로 되돌아 가고 여러 버전의 Qt가 설치되어 있으면 기본값이 원하는 것이 아닐 수 있습니다. 이 명령을 실행하여 알 수 있습니다.
$ qtchooser -print-env
QT_SELECT="default"
QTTOOLDIR=...
QTLIBDIR=...
변경 사항을 고수하는 유일한 방법은 기본 버전을 변경하는 것입니다. 이렇게하려면 /usr/lib/x86_64-linux-gnu/qtchooser/default.conf
이 줄을 편집 하고 변경하십시오.
/usr/lib/x86_64-linux-gnu/qt5/bin
qt5
원하는 버전으로 변경할 수 있습니다 . 이 명령 qtchooser -list-versions
을 사용 하여 컴퓨터에 설치된 버전을 확인할 수 있습니다 .
qmake
( /usr/bin/qmake
) 실제로 단지 심볼릭 링크입니다 qtchooser
( /usr/bin/qtchooser
).
인용은 다음과 같습니다 man qtchooser
.
FILES
/etc/xdg/qtchooser/default.conf
System-wide configuration files. Each has two lines, the first
is the path to the binaries and the second is the path to the Qt
libraries. If a default.conf is provided, the settings from it
will be automatically used in case nothing else is selected.
$HOME/.config/qtchooser/*.conf
User configuration files.
파일 /etc/xdg/qtchooser/default.conf
보다 우선 순위가 높습니다 /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
. 다음은 qmake
내 시스템의 예 에서 기본 Qt 버전을 선택하는 방법에 대한 단계입니다 (Ubuntu 17.10 x64, Qt 5.10.1).
/etc/xdg/qtchooser
디렉토리를 작성하십시오 .
sudo mkdir /etc/xdg/qtchooser
구성 파일을 작성하고 편집하십시오.
gksudo gedit /etc/xdg/qtchooser/default.conf
위에서 말했듯이. 이 파일에는 두 줄이 포함되어야합니다. 첫 번째 줄은 Qt 바이너리 (qmake 포함)의 경로이고 두 번째 줄은 Qt 라이브러리 (.so 파일 포함)의 경로입니다. 내 경우에는 다음과 같습니다.
<Qt_dir>/5.10.1/gcc_64/bin
<Qt_dir>/5.10.1/gcc_64/lib
저장하고 닫으십시오. 이제 qmake
지정된 Qt 버전을 사용해야합니다.
sudo apt-get install qt5-default
원하는 경우 다음 qt5
을 qt4
사용하십시오.
sudo apt-get install qt4-default