我在QtCreator中有一个包含.c和.cpp文件的项目,现在在我当前的工具链GCC下构建和运行得很好。
我想把这段代码移植到运行linux angstrom发行版的arm5核心上。
为此,请执行以下操作:
1-我需要使用linux-armv5te-linux-gnueabi- QTlibraries构建工具链,例如,
2-在QT中创建一个新项目,并将此版本的qt添加到其中。
3-在qtcreator的工具链路径中添加linux-armv5te-linux-gnueabi-toolchain,这样我就可以用它来构建代码了。
4-当我按下build时,qmake将生成一个makefile,该makefile将使用这个linux-armv5te-linux-gnueabi-toolchain来编译带有gcc的.c文件和带有g++的.cpp文件。
我的逻辑正确吗?
另外,我如何执行上面的step1?
谢谢
如果我下载上面的工具链,并将它的bin路径添加到QTcreator,我是否能够构建与上面讨论的相同的项目(包含c和cpp文件)?
发布于 2012-03-06 12:47:29
我使用了ARM9 S3C Mini2440。请从Qt网站下载源代码并编译。下面的配置使用Qt4.6
@host:/qt-everywhere-opensource-src-4.6.2#./configure \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-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 \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake docs \
-qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib
@host:/qt-everywhere-opensource-src-4.6.2# make
@host:/qt-everywhere-opensource-src-4.6.2# make install在安装命令之后,您的/usr/local/Trolltech/QtEmbedded-4.6.2-arm中将包含ARM Qt4.6。创建指向ARM qmake工具的symblic链接
ln -s /usr/local/Trolltech/QtEmbedded-4.6.2-arm/bin/qmake /usr/local/bin/qmake-arm创建环境文件,以便切换到Qt ARM。让我们称它为setenv-qt-arm.sh
export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.6.2-arm
export PATH=/usr/local/Trolltech/QtEmbedded-4.6.2-arm/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib:$LD_LIBRARY_PATH
export CPLUS_INCLUDE_PATH=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/include/c++:/usr/local/arm/4.3.2/arm-none-linux-gnueabi/include/c++/4.3.2/arm-none-linux-gnueabi:$CPLUS_INCLUDE_PATH为了交叉编译你的项目
cd /your_project_dir
. /<path_to>/setenv-qt-arm.sh
qmake-arm
make我没有使用QtCreator交叉编译Qt项目,而是使用前面的命令。如果您将qmake设置为正确的文件( qmake -arm),我认为应该没有问题,因为此qmake将生成编译项目所需的所有Makefile
https://stackoverflow.com/questions/9576260
复制相似问题