例如: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.conf
和g++-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是乙個幫助檔案,它...