Qt 5 3 2在周立功M3352開發板的移植記錄

2021-06-28 22:39:59 字數 3018 閱讀 4527

1.一般板子上都帶有配套的交叉編譯,沒有的話,可以從網上下乙個。交叉編譯器的放在/opt/tools/arm-2011.03/bin

看一下應該是這樣的

3.解壓到當前資料夾。tar xzvf qt-everywhere-opensource-src-5.3.2.tar.gz.  我的原始碼放在/opt/qt下。

4.在arm板上移植,需要知道晶元的架構。我的是

arm cortex-a8

,其架構是armv7-a。我們進入/opt/qt/qt-everywhere-opensource-src-5.3.1/qtbase/mkspecs/linux-arm-gnueabi-g++目錄下,需要修改qmake.conf檔案。如下

## qmake configuration for building with arm-linux-gnueabi-g++

#makefile_generator      = unix

config                 += incremental

qmake_incremental_style = sublib

qmake_cflags_release   += -o2 -march=armv7-a

qmake_cxxflags_release += -o2 -march=armv7-a

include(../common/linux.conf)

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

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

# modifications to g++.conf

qmake_cc                = /opt/tools/arm-2011.03/bin/arm-none-linux-gnueabi-gcc      #交叉編譯器的絕對路徑

qmake_cxx               = /opt/tools/arm-2011.03/bin/arm-none-linux-gnueabi-g++

qmake_link              = /opt/tools/arm-2011.03/bin/arm-none-linux-gnueabi-g++

qmake_link_shlib        = /opt/tools/arm-2011.03/bin/arm-none-linux-gnueabi-g++

# modifications to linux.conf

qmake_ar                = /opt/tools/arm-2011.03/bin/arm-none-linux-gnueabi-ar cqs

qmake_objcopy           = /opt/tools/arm-2011.03/bin/arm-none-linux-gnueabi-objcopy

qmake_nm                = /opt/tools/arm-2011.03/bin/arm-none-linux-gnueabi-nm -p

qmake_strip             = /opt/tools/arm-2011.03/bin/arm-none-linux-gnueabi-strip

load(qt_config)

5.進入/opt/qt/qt-everywhere-opensource-src-5.3.1/,編譯指令碼

sudo mkdir arm_config

sudo chmod 777 arm_config

sudo vi arm_config

./configure -v \

-prefix /usr/local/qt-everywhere-opensource-src-5.3.2 \     交叉編譯之後的目錄

-confirm-license \

-opensource \

-release  \

-make libs \

-xplatform linux-arm-gnueabi-g++ \      

-optimized-qmake \

-pch \

-qt-sql-sqlite \

-qt-libjpeg \

-qt-zlib \

-no-opengl \

-no-sse2 \

-no-openssl \

-no-nis \

-no-cups \

-no-glib \

-no-xcursor -no-xfixes -no-xrandr -no-xrender \

-no-separate-debug-info \

sudo make 

sudo make install 

等待幾個小時之後完成。

6.進入/usr/local,把qt-everywhere-opensource-src-5.3.2拷到板子上/opt下

7.設定環境變數,開啟/etc/profile

export tslib_root=/usr

export qt_root=/opt/qt-everywhere-opensource-src-5.3.2

export qws_mouse_proto=tslib:/dev/touchscreen

export ld_library_path=/lib:/usr/lib:/usr/local/lib:$qt_root/lib:$ld_libaray_path

export qt_qpa_platform_plugin_path=$qt_root/plugins

export qt_qpa_platform=linuxfb:tty=/dev/fb0

export qt_qpa_fontdir=$qt_root/lib/fonts

重啟 source /etc/profile.

8.執行demo的時候,中文漢字顯示不了  進入/opt/qt-everywhere-opensource-src-5.3.2/lib/fonts下,刪除所以字型,然後從網上下乙個文泉驛字型庫,我用的是wqy_mh.ttf,

重新執行demo,字型就能正常顯示了。

Qt5 3 2在ARM Linux平台的移植

3 指定交叉編譯器 修改配置檔案 home qt qt everywhere opensource src 5.3.2 qtbase mkspecs linux arm gnueabi g qmake.conf qmake configuration for building with arm li...

Qt5 3 2 mingw32環境變數設定方法

環境變數的設定方法 右擊 計算機 屬性 高階系統設定 在彈出的視窗如下 在該介面的 系統變數 欄裡 選擇 path 選項,在彈出的視窗裡,變數值 一欄中加入以下內容 c qt qt5.3.2 5.3 mingw482 32 bin 即可!另外 在c qt qt5.3.2 tools mingw482...

在Qt中使用sleep

在qt中使用sleep 關於sleep函式,我們先來看一下他的作用 sleep函式是使呼叫sleep函式的執行緒休眠,執行緒主動放棄時間片。當經過指定的時間間隔後,再啟動執行緒,繼續執行 sleep函式並不能起到定時的作用,主要作用是延時。在一些多執行緒中可能會看到sleep 0 其主要目的是讓出時...