QT5--arm移植

來源:互聯網
上載者:User

早前用qt4.6,用得挺爽,做了一些程式。感覺用c++寫介面相當的順暢。

出了qt5,那自然要試一下。

先試交叉編譯,因為一般來說pc上的編譯是沒有問題的。

交叉編譯一般要考慮,顯示方式,有沒有顯示加速硬體,有沒有觸控螢幕,有沒有鍵盤。

1下載qt5,http://releases.qt-project.org/qt5/5.0.1/single/qt-everywhere-opensource-src-5.0.1.tar.gz

2 解壓

3 修改設定檔qmake.conf檔案,qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf做如下修改

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

MAKEFILE_GENERATOR      = UNIX
CONFIG                  += incremental gdb_dwarf_index
QMAKE_INCREMENTAL_STYLE = sublib

QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE   += -O2 -march=armv5te
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv5te

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC                = arm-none-linux-gnueabi-gcc
QMAKE_CXX               = arm-none-linux-gnueabi-g++
QMAKE_LINK              = arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-none-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR                = arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-none-linux-gnueabi-objcopy
QMAKE_STRIP             = arm-none-linux-gnueabi-strip
load(qt_config)

4 編寫編譯指令碼,arm_config

make clean
./configure -v \
        -prefix /home/alsa/CQTLib/emb5.0/ \
        -confirm-license \
        -opensource \
        -release  \
        -make libs \
        -xplatform linux-arm-gnueabi-g++ \
        -optimized-qmake \
        -pch \
        -qt-sql-sqlite \
        -qt-libjpeg \
        -qt-zlib \
        -no-opengl \
        -no-sse -no-sse2 \
        -no-openssl \
        -no-nis \
        -no-cups \
        -no-glib \
        -no-xcursor -no-xfixes -no-xrandr -no-xrender \
        -no-separate-debug-info \
        -nomake examples -nomake tools -nomake docs

5 執行arm_config檔案,產生qt相關工程

6 make

make的時候出錯了:qtextcodec.cpp undefined reference to `__sync_bool_compare_and_swap_4

經查有人也出現這個錯誤http://qt-project.org/forums/viewthread/16071

應該是編譯器的問題。目前用到的編譯是arm-none-linux-gnueabi 4.4的版本。估計要高些,如4.7或4.6版本的。。

待試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.