1. qt交叉編譯,為什麼make指令調用的是g++,而不是arm-linux-g++
你找下,是不是在哪個Makefile腳本或類似config.mk的腳本里有個變數,變數值為編譯器名字的。
它可能是這樣的:
CROSS_COMPILE := arm-linux-
HOSTCXX = g++
這兩個名字拼起來才是交叉編譯器的名字,如果只用了HOSTCXX或者CROSS_COMPILE為空,它就用的g++了
2. 我用QT軟體做了一個記事本,但用CRT軟體運行可執行文件說無法找到文件,我想知道問題出在哪一步。老師說
1、首先你需要交叉編譯你的Qt工程,(就是編譯一個能在你的開發板系統運行的程序)
2、將編譯好的文件通過CRT的rz命令傳入進去,前提是你的ARM系統支持rz傳輸功能。
3、載入開發板系統中Qt的環境變數,然後運行你的程序就行了!
3. 如何進行Qt應用程序的交叉編譯
1.設置環境變數: PATH=添加為交叉環境下編譯後生成的qmake路徑,通常和主機的系統是一種架構,同時需要確保交叉gcc編譯器在在PATH定義 QMAKESOEC=交叉編譯的對象的的平台描述文件,例如makespec/qws/linux-arm-g++ QTDIR=Qt的安裝文件,存放這庫和頭文件 LD_LIBRARY_PATH=存放的是Qt的交叉編譯後的庫,准備為目標編譯鏈接的庫 2。執行環境變數 通常我們都會將以上的設置放置在一個bash腳本中,需要的時候就執行一下。開始編譯 1.使用qmake -project來生成項目文件****.pro 2使用qmake來生成Makefile文件 3使用make來編譯移植:使用readeif工具來分析目標系統的以來庫,然後相關的庫到目標文件系統內。通常我們也是採取腳本的方式來完成。 一般而言,凡是有規律的或者重復性的工作,我們都可以採取腳本的方式來解決。
4. 兄弟我最近剛學QT,到了交叉編譯這一塊,make之後老是出現 下面的錯誤
交叉編譯的時候要加上配置要加上:-embedded arm
例如:
./configure \
-no-pch \
-no-dbus \
-no-nas-sound \
-no-opengl \
-no-sm \
-no-xshape \
-no-xinerama \
-no-xcursor \
-no-xfixes \
-no-xrandr \
-no-xrender \
-no-fontconfig \
-no-xkb \
-no-glib \
-little-endian \
-no-mmx -no-3dnow -no-sse -no-sse2 \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-qconfig smal
希望可以幫助到你