QT5的移植與錯誤總結

2021-07-04 11:27:19 字數 1543 閱讀 2220

今天有個專案要做儀錶盤的設計,需要用到qt5的qml來畫介面,所以移植了一下qt5.

2。修改 qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

3../configure -release -opensource -xplatform linux-arm-gnueabi-g++ -prefix /opt/qt-5.5.0/armv7-a -no-c++11 -qreal float  

4.make -j2

5.make install -j2

6.在/opt/qt-5.5.0/armv7-a/目錄下面生成lib  plugin  bin .等資料夾

其中lib是qt5編譯用的庫,plugin是qt5所用的外掛程式,lib 和plugin目錄都要複製到板子裡面才可以執行qt程式。

其中bin裡面的qmake命令就是我們用來編譯qt5工程的命令

7.將lib和plugin目錄複製到目標板中,並設定如下面環境變數

export qt_root=/data

export ld_library_path=/data/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

export ld_preload=/usr/lib/preloadable_libiconv.so:$tslib_root/lib/libts.so

export qt_qpa_generic_plugins=tslib

./rashterwindow -qpa

錯誤總結:

在執行qt程式是出現如下錯誤

qiconvcodec::converttounicode: using latin-1 for conversion, iconv_open failed

qiconvcodec::convertfromunicode: using latin-1 for conversion, iconv_open failed

解決辦法:

qiconvcodec::convertfromunicode: using latin-1 for conversion, iconv_open failed

qiconvcodec::converttounicode: using latin-1 for conversion, iconv_open failed

​解決 :

./configure -prefix=$pwd/_install -host=arm-linux-gnueabihf   

make   

make install 

把_install/lib 下的preloadable_libiconv.so 拷到系統的/system/lib 下,  

export ld_preload=/system/lib/preloadable_libiconv.so

Qt 5 常見錯誤彙總

1.沒加 qt sql,需要再.pro檔案中加上 2.無故崩潰,這個有多種原因,多為指標問題,例如,指標記憶體洩露,指標未開闢空間直接使用,ui還未建立就使用ui裡面的東西。等等 3.sql問題,有訊號槽,但是不能操作tableview,model labtool insertrecord 1,re...

Qt5,訊號槽關聯錯誤

一 錯誤提示 error c2664 qmetaobject connection qobject connect const qobject const char const char qt connectiontype const 無法將引數 2 從 overloaded function 轉換...

QT5 訊號與槽

前言 訊號與槽是qt的精華所在,也是他區分於其他軟體的關鍵地方,所以我們學習qt肯定無法繞過這一核心 當物件內部狀態發生改變,訊號就被反射,只有定義了這個訊號的類和他的子類才能發射這個訊號 訊號的宣告是在標頭檔案中進行的,qt的signals關鍵字指出進入了訊號宣告區,隨後即可宣告自己的訊號。訊號由...