- perl 5.8 or later
- python 2.7 or later
- c++ compiler supporting the c++98 standard(sdk提供)
- 編譯套裝 `sudo apt-get install build-essential`
sudo apt-get install git git-core
sudo apt-get install autoconf bison flex gperf
sudo apt install libtool
編輯~/.bashrc 新增:
export path="/home/codebee/ti-linux-am57xx/linux-devkit/sysroots/x86_64-arago-linux/usr/bin:$path"
進入qt-everywhere-opensource-src-5.6.2/qtbase/mkspecs資料夾,拷貝linux-arm-gnueabi-g++命名為linux-arm-gnueabihf 開啟其中的qmake.conf 修改其中內容如下
#
# qmake configuration for building with arm-linux-gnueabi-g++
#makefile_generator = unix
config += incremental
qmake_incremental_style = sublib
qt_qpa_default_platform = eglfs
qmake_libs_egl += -legl
qmake_libs_opengl_es2 += -lglesv2 -legl -lgal
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
qmake_cc = arm-linux-gnueabihf-gcc
qmake_cxx = arm-linux-gnueabihf-g++
qmake_link = arm-linux-gnueabihf-g++
qmake_link_shlib = arm-linux-gnueabihf-g++
# modifications to linux.conf
qmake_ar = arm-linux-gnueabihf-ar cqs
qmake_objcopy = arm-linux-gnueabihf-objcopy
qmake_nm = arm-linux-gnueabihf-nm -p
qmake_strip = arm-linux-gnueabihf-strip
load(qt_config)
進入qt-everywhere-opensource-src-5.6.2資料夾 新建config.sh檔案 內容如下
./configure -opensource -confirm-license \
-release -c++std c++11 \
--prefix=/opt/
qt5 \
-xplatform linux-arm-gnueabihf \
-shared \
-iconv \
-developer-build \
-eglfs -opengl es2 \
-qt-zlib -qt-libjpeg -qt-libpng -dbus-runtime \
-nomake examples -nomake tests -no-xcb -no-iconv \
-skip qtenginio -skip qtlocation -skip qt********** \
-skip qtwebsockets -v
#-tslib \
#-make tools \
#-v 是詳細輸出模式
#--prefix是make install後編譯好的qt安裝的位置
# -no-icu, this will disable the webkit.
#make arch=arm cross_compile=arm-linux-gnueabihf- -j4
#make install
執行 config.sh不出錯的話makefile就生成好了,接下來執行( -j4意思是用四個執行緒編譯,和自己cpu數一致就行不是數越大越快)
make -j4
sudo make install
編譯好的qt打包拷貝到開發板的/opt目錄解壓
vi /etc/ld.so.conf 新增一行/opt/lib
然後執行sudo ldconfig -v
export qtdir=/opt
export qt_qpa_fontdir=$qtdir/lib/fonts
export qt_qpa_platform_plugin_path=$qtdir/plugins
export ld_library_path=$qtdir/lib:$ld_library_path
#export qt_qpa_platform=linuxfb:fb=/dev/fb0:size=1920x1080:mmsize=1024x768:offset=0x0:tty=/dev/tty1
export qml_import_path=$qtdir/qml
export qml2_import_path=$qtdir/qml
export qt_qpa_eglfs_fb="/dev/fb0"
#export qt_qpa_eglfs_width=1920
#export qt_qpa_eglfs_height=1080
export qt_qpa_eglfs_depth=32
#export qt_qpa_eglfs_physical_width=1920
#export qt_qpa_eglfs_physical_height=1080
嵌入式Linux上Qt5的中文顯示
qt5中文顯示 qt5預設原始碼字符集和執行字符集為utf8,所以預設情況下只要中文使用的是utf8編碼格式,qt5都可以識別,當然,如果是其他編碼格式的話就需要做一些轉換。這裡所說的識別是只是第一步,如果需要正常顯示的話還需要對應的字型檔案,也就是通常的的ttf檔案等,這種檔案描述了編碼和字型之間...
在qt5中嵌入matplotlib
from matplotlib.backends.backend qt5agg import figurecanvasqtagg as figurecanvas from matplotlib.figure import figure import matplotlib.pyplot as plt ...
QT5程式設計小記
1.今天在用qt寫串列埠小例項的時候碰到qt5 c2001 常量中有換行符等問題,因為是qt5,很多qt4的解決方案是無效的的。解決方案 用記事本開啟你的cpp檔案,另存為utf8格式 2.之前一直使用qdebug qstring 串列埠開始寫資料 後台列印一直亂碼 解決方案 qdebug qstr...