Ubuntu 18.04LTS環境設定にQT フレームワークを設置する(X11 platform 用)
ubuntu の web page アクセスして必要なQT version をDownloadする。
ファイアフォックスやweb を実行したくないならwget を用いて受けてもよさそうだ。
私は4.8.7バージョンを設置した。
wget http://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz
wget http://download.qt.io/archive/qtcreator/4.4/4.4.1/qt-creator-opensource-linux-x86_64-4.4.1.run
QT makeする前に必要なpackage
sudo apt install make gcc g++ build-essential libxtst-dev libstdc++-7-doc qt4-qmake libqt4-dev -y | cs |
ダウンロードしたフォルダーに進入後,圧竹の解体と束を解く。
gunzip qt-everywhere-opensource-src-4.8.7.tar.gz # uncompress the archive tar xvf qt-everywhere-opensource-src-4.8.7.tar # unpack it
次に 環境設定を進める。
cd ./qt-everywhere-opensource-src-4.8.7 ./configure
次の make
make
Ubuntu 18.04でQT make 進行時,以下のようなBuild errorが発生します。
Ubuntu 18.04 に適用されたGCC がC++11 がDisable になっている。私何と言ってる...
1 2 3 4 5 6 7 8 9 10 11 | ../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:173:69: error: ‘std::tr1’ has not been declared template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { }; ^~~ ../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:173:74: error: expected ‘{’ before ‘has_trivial_constructor’ template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { }; ^~~~~~~~~~~~~~~~~~~~~~~ ../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:174:68: error: ‘std::tr1’ has not been declared template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { }; ^~~ ../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:174:73: error: expected ‘{’ before ‘has_trivial_destructor’ template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { }; | cs |
それでは,下のファイルの一番下の方にこのようにオプションを修正してくれる。
vi qt-everywhere-opensource-src-4.8.7/src/script/script.pro
112 | QMAKE_CXXFLAGS += -std=gnu++98 | cs |
...
ところが, また Errorが発 生する。
1 2 3 | itemviews.cpp: In member function ‘virtual bool QAccessibleTable2::unselectColumn(int)’: itemviews.cpp:396:105: error: conversion from ‘int’ to ‘QItemSelectionModel::SelectionFlags {aka QFlags<QItemSelectionModel::SelectionFlag>}’ is ambiguous view()->selectionModel()->select(index, QItemSelectionModel::Columns & QItemSelectionModel::Deselect); | cs |
あんな時は コードを修正しなければならないんだよ... 該当 GCC バージョンには QFlagsの 値をキャスティングできないんだって。
396 397 | vi ./src/plugins/accessible/widgets/itemviews.cpp // view()->selectionModel()->select(index, QItemSelectionModel::Columns & QItemSelectionModel::Deselect); view()->selectionModel()->select(index, static_cast<QItemSelectionModel::SelectionFlags>(QItemSelectionModel::Columns & QItemSelectionModel::Deselect)); | cs |
環境変数追加
trolltechで 作って trolltechフォルダーの 中に qt frame が設置される。
".Profile" に下記の内容を追加する。
いつでもどこでもqt bin を使うため。
vi .profile PATH=/usr/local/Trolltech/Qt-%VERSION%/bin:$PATH export PATH
setenv PATH /usr/local/Trolltech/Qt-4.8.7/bin:$PATH
Ubuntu 18.04LTS環境設定にQTフレームワーク設置済 み。
'QT' 카테고리의 다른 글
[QT] QTablView 사용하기 및 row 배경 색깔 지정. (0) | 2019.02.11 |
---|---|
[QT] QListview 에 항목추가 및 배경 지정하기 (0) | 2019.02.08 |
[QT] QT Applicationに SQlite連結する (0) | 2019.02.06 |
[QT]QTCtreator 윈도우에서 X window 로 사용하기 (0) | 2019.01.31 |
[QT] Ubuntu 18.04LTS 환경설정에 QT 프레임워크 설치하기(X11 platform 용) (0) | 2019.01.31 |