ubuntu下搭建QT開發環境

2021-09-23 14:09:07 字數 4216 閱讀 6019

例如:qt-everywhere-opensource-src-4.8.5.tar.gz

(1)修改qmake檔案( /mkspecs/linux-arm-g++、qmake.conf)

修改編譯器為自己的交叉編譯,

如果arm目標板上顯示屏的驅動是基於fb的,要手動新增:qt_qpa_default_platform=linuxfb

(2)執行configure,建議可以建立乙個shell指令碼,內容如下:

#!/bin/sh

./configure \

-prefix /usr/local/arm/qt4.8.5\

-opensource \

-confirm-license \

-release -shared \

-embedded arm \

-xplatform qws/linux-arm-g++ \

-depths 16,18,24,32 \

-fast \

-optimized-qmake \

-little-endian -host-little-endian \

-no-pch \

-qt-sql-sqlite \

-qt-libjpeg \

-qt-zlib \

-qt-libpng \

-qt-libmng \

-qt-libtiff \

-qt-freetype \

-webkit \

-no-openssl \

-no-glib \

-no-qt3support \

-no-libtiff -no-libmng \

-no-opengl \

-no-mmx -no-sse -no-sse2 \

-no-3dnow \

-no-qvfb \

-no-phonon \

-no-nis \

-no-opengl \

-no-cups \

-no-separate-debug-info \

-nomake docs \

-qt-mouse-tslib \

-qt-mouse-linuxinput \

-qt-kbd-linuxinput \

-qt-gfx-transformed \

-qt-gfx-linuxfb \

-i/usr/local/arm/tslib-1.17/include \

-l/usr/local/arm/tslib-1.17/lib

執行指令碼:./qt_cross_compiler.sh 

(3)make -j4

(4)make install 2>&1

也可以將結果重定向到本地檔案便於檢視日誌:

./qt_cross_compiler.sh 2>&1 | tee configure_log.txt

make -j4 2>&1 | tee make_log.txt

make install 2>&1 | tee install_og.txt

(1)./configure -prefix 《安裝目錄》   -qvfb

配置時要加上 -qvfb ,否則無法編譯生成 qvfb ( qt/embedded virtual framebuffer ) 工具 

(2)make -j4

(3)make install

【出錯說明】

(1)configure執行時出現 「basic xlib functionality test failed!」

缺少libx11的開發包,安裝即可:apt-get install libx11-dev libxext-dev libxtst-dev(libxext-dev libxtst-dev可以不安裝,因為安裝libx11-dev時這兩個一起安裝了)

(2)make執行時出現:「『std::tr1』 has not been declared」  等一系列c++關鍵字沒有定義的錯誤。

-  執行./configure 後,的終端列印資訊中搜尋mkspecs或者build type:,可以確定當前編譯的版本,如:linux-g++

-  開啟檔案mkspecs/linux-g++/qmake.conf

-  在qmake_cxxflags的值後邊加上 -std=gnu++98,例如qmake_cxxflags = $$qmake_cflags -std=gnu++98

- qmake.conf中不存在qmake_cxxflags,則在其包含檔案中尋找,如下所示包含了三個檔案:

include(../common/linux.conf)

include(../common/gcc-base-unix.conf)

include(../common/g++-unix.conf)

linux.conf:中又包含了unix.conf

gcc-base-unix.conf:中又包含了gcc-base.conf

g++-unix.conf:中又包含了g++-base.conf

最後在不懈努力下發現了兩處qmake_cxxflags,gcc-base.confg++-base.conf

- 修改完成後執行make confclean,從configure開始重新執行。

修改 /etc/profile和~/.bashrc檔案,在最後追加如下內容:

export qtdir=/uer/local/trolltech/

export path=$qtdir/bin:$path

export manpath=$qtdir/man:$manpath

export ld_library_path=$qtdir/lib:$ld_library_path

儲存退出後,執行如下指令使配置生效:

source /etc/profile

source ~/.bashrc

qmake  -v

出現qmake版本相關資訊則表示成功,如果提示qmake可執行程式不存在,則說明安裝失敗。

此步驟略,按照qtcreator ide配置即可。

(1)x error,出現以下提示內容,並且編譯出的qt圖形介面是白色的框沒有任何控制項:

x error: badaccess (attempt to access private resource denied) 10

extension:    130 (mit-shm)

minor opcode: 1 (x_shmattach)

resource id:  0x15e

x error: badshmseg (invalid shared segment parameter) 128

extension:    130 (mit-shm)

minor opcode: 5 (x_shmcreatepixmap)

resource id:  0x460000c

x error: baddrawable (invalid pixmap or window parameter) 9

major opcode: 62 (x_copyarea)

resource id:  0x460000d

修改 /etc/profile和~/.bashrc檔案,在最後追加如下內容:

export qt_x11_no_mitshm=1

儲存退出後,執行如下指令使配置生效:

source /etc/profile

source ~/.bashrc

(2)控制項中的中文全消失不見了,無法正常顯示

首先檢查qt安裝目錄下 /usr/local/trolltech/lib/fonts目錄下有沒有當前使用的字型,如:ubuntu-b.ttf  ubuntu-l.ttf

如果沒有fonts目錄則建立,並拷貝字型檔案到該目錄下。

問題仍沒有解決,則修改 /etc/profile和~/.bashrc檔案,追加內容如下:

export qt_qpa_fontdir=/usr/local/trolltech/lib/fonts/

儲存退出後,執行如下指令使配置生效:

source /etc/profile

source ~/.bashrc

ubuntu 下搭建 qt 開發環境

我的作業系統是ubuntu8.10,可以在網上找到安裝qt編譯環境的安裝方法。現簡略敘述如下 1 sudo apt get install qt4 dev tools qt4 doc qt4 qtconfig qt4 demos qt4 designer 此命令安裝了五個軟體。qt4 doc是乙個幫...

Ubuntu下搭建Qt開發環境

根據需要,選擇合適的版本和平台。chmod x qt opensource linux x64 5.12.2.run qt opensource linux x64 5.12.2.run根據介面提示,登入已有賬號或者申請新賬號並登入。選擇qt的安裝目錄,如果以上邊的方式執行,預設目錄為 home u...

在ubuntu10 04下 qt開發環境搭建

我的作業系統是ubuntu10.04,可以在網上找到安裝qt編譯環境的安裝方 法。現簡略敘述如下 1 sudoapt getinstallqt4 dev toolsqt4 docqt4 qtconfigqt4 demosqt4 designer 此命令安裝了五個軟體。qt4 doc是乙個幫助檔案,它...