<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 移植QT 4.8.7 之前移植了QT5.9.1,這里移植QT4.8.7就簡單介紹下 下載 `` ## 下載QT4.8.7 ~~~ wget http://download.qt.io/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz tar xf qt-everywhere-opensource-src-4.8.7.tar.gz cd qt-everywhere-opensource-src-4.8.7 ./configure --help >help.txt #QT的配置較為復雜,進來先看看幫助文檔,在本節最后附錄里有翻譯 ~~~ 一般來說,我們需要編譯主機和目標板兩個版本的qt: 主機版可以用于前期的gui的設計調試;目標板用于實際產品的驗證。 ## 編譯X11版本 主機版一般是X11,配置如下: cfg_X11.sh ~~~ #!/bin/bash ./configure -prefix /opt/qt-4.8.7-x11 -opensource -make tools #安裝位置,開源版本,編譯qt工具(makeqpf,qtconfig) make -j32 #約10分鐘 sudo make install ~~~ 安裝完成后在/opt/qt-4.8.7-x11下可見安裝的文件。 ## 交叉編譯arm版本 注意,在第二次編譯前,先make clean下。如果編譯時候仍有錯誤,可以重新解壓編譯。 交叉編譯,需要配置 xplatform選項,比如要在arm-linux平臺上移植Qt的話,就在配置項中加上 -xplatform linux-arm-gnueabi-g++ ,這個是平臺名字,Qt5支持的交叉平臺都可在源碼頂層目錄中的 mkspecs/ 下找到。 首先我們需要編輯**mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf**: 加上:(注意,和tslib類似,這里要加上其它什么支持的話,也是交叉編譯的庫的路徑) ~~~ QT_QPA_DEFAULT_PLATFORM = linuxfb QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a -lts QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a -lts QMAKE_INCDIR += /opt/tslib/include /opt/sqlite3/include QMAKE_LIBDIR += /opt/tslib/lib /opt/sqlite3/lib ~~~ 把arm-linux-gnueabihf-gcc改成arm-linux-gnueabi-gcc等。 然后再編輯配置腳本cfg_arm.sh ~~~ #/bin/sh ./configure -verbose \ -opensource \ -confirm-license \ -release -shared \ -embedded arm \ -xplatform qws/linux-arm-gnueabi-g++ \ -depths 4,8,16,32 \ -fast \ -optimized-qmake \ -pch \ -qt-sql-sqlite \ -qt-libjpeg \ -qt-zlib \ -qt-libpng \ -qt-freetype \ -little-endian -host-little-endian \ -no-qt3support \ -no-libtiff -no-libmng \ -no-opengl \ -no-mmx -no-sse -no-sse2 \ -no-3dnow \ -no-openssl \ -no-webkit \ -no-qvfb \ -no-phonon \ -no-nis \ -no-opengl \ -no-cups \ -no-glib \ -qt-gfx-transformed \ -no-xcursor -no-xfixes -no-xrandr -no-xrender \ -no-separate-debug-info \ -nomake examples -make tools -make docs \ -qt-mouse-tslib -I/opt/tslib/include -L/opt/tslib/lib ~~~ ~~~ make -j32 sudo make install ~~~ 完成后,相關文件在/opt/qt4.8.7-arm下。 ## 常見編譯錯誤 配置QT的時候,如果指定了-webkit,編譯的時候會報錯: ../3rdparty\javascriptcore\JavaScriptCore/wtf/TypeTraits.h:173:69:error: 'std::tr1' has not been declared 解決方法:修改QT源碼目錄下mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf文件,加上一行:QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -std=gnu++98 * * * * * /opt/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: warning: libts.so.0, needed by /home/wcz/qt-everywhere-opensource-src-4.8.7_arm/lib/libQtGui.so, not found (try using -rpath or -rpath-link) 提示沒有tslib的庫,當然了,提示中也清楚的說了(try using -rpath or -rpath-link)。 我們可以: 1,進入到編譯報錯的目錄,在這里是“examples/network/broadcastreceiver“ 2,修改這個目錄中的Makefile文件,找到LFLAGS一行,在最后面加上”-Wl,-rpath,/opt/tslib/lib“,也就是手動指定tslib的目錄。(這里還沒清楚為何configure時的參數沒起作用) 3,就地make 4,退回到主目錄 5,繼續make 上面的操作,如果每個Makefile都要編輯一遍的話,那就太麻煩了,我們偷偷懶。 針對Makefile的LFLAGS一行的特點,我們使用find、grep、awk、sed、xargs來完成這個操作,如下: 進入到出錯目錄的頂層,如上示例,我們進入到examples。 cd examples `find . -name Makefile | xargs grep rpath-link | grep -v tslib | awk -F: '{fname[NR]=$1} END {for (i=1;i<=NR;i++){print fname[i]}}' | xargs sed -i 's/LFLAGS.*/& -Wl,-rpath,\/opt\/tslib\/lib/'` <注意,這個命令會直接修改目錄中最底層的每一個Makefile,請試驗成功后再使用。> * * * * * ## 向開發板添加Qt庫 首先將/opt/qt5.9.1-arm和/opt/tslib 復制到開發板的對應目錄下 然后設置開發板 Qt 環境變量,vi /etc/bash.bashrc 添加下面內容: ~~~ export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/input/event1 export TSLIB_CONFFILE=/opt/tslib/etc/ts.conf export TSLIB_PLUGINDIR=/opt/tslib/lib/ts export TSLIB_CALIBFILE=/etc/pointercal export LD_LIBRARY_PATH=/lib:/usr/lib:/opt/tslib/lib:/opt/qt5.9.1-arm/lib export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/opt/tslib/bin export QT_QPA_PLATFORM_PLUGIN_PATH=/opt/qt5.9.1-arm/plugins export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0 export QT_QPA_FONTDIR=/opt/qt5.9.1-arm/lib/fonts export QT_QPA_GENERIC_PLUGINS=tslib:$TSLIB_TSDEVICE export QWS_MOUSE_PROTO=Tslib:/dev/input/event0 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/optslib/lib:/opt/qt5.9.1-arm/lib:/usr/lib/arm-linux-gnueabihf/lib ~~~ 保存后生效上述內容:source /etc/bash.bashrc br生成的文件系統則為: ~~~ export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/input/event1 export TSLIB_CONFFILE=/etc/ts.conf export TSLIB_PLUGINDIR=/usr/lib/ts export TSLIB_CALIBFILE=/etc/pointercal export LD_LIBRARY_PATH=/lib:/usr/lib export PATH=/bin:/sbin:/usr/bin/:/usr/sbin export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/qt/plugins export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0 export QT_QPA_FONTDIR=/usr/lib/qt/lib/fonts export QT_QPA_GENERIC_PLUGINS=tslib:$TSLIB_TSDEVICE export QWS_MOUSE_PROTO=Tslib:/dev/input/event1 ~~~ # 參考資料 http://blog.csdn.net/armfpga123/article/details/52921558 http://blog.chinaunix.net/uid-29962009-id-5012060.html
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看