在win平台上用Cygwin交叉编译E680软件
时间:2006-06-09 来源:ppllxx
前两天我贴过如何在linux上配置E680交叉编译环境(http://club.ccmove.com/topicdisplay.asp?BoardID=1189&Page=1&State=16&TopicID=116753),这两天测试了一下,发现Cygwin环境也可以
实话说,这个比装个linux的交叉编译可能还麻烦些,不过用起来还是很方便的
以下内容,需要你对linux和gcc有足够了解。
安装cygwin
------------------------------------------------------------------------------------------------------------------
从http://www.cygwin.com下载,
推荐mirror为mirrors.kernel.org
记得安装make, gcc, mingw , binutils, perl, byacc, flex等开发工具
安装arm-linux交叉编译环境
------------------------------------------------------------------------------------------------------------------
http://ftp.kelp.or.kr/pub/arm-linux/people/xscale/cygwin-toolchain/arm-linux-toolchain-bin-for-cygwin-08-27-03.zip
安装到cygwin目录下/hao/toolchain目录中,确认一下/hao/toolchain/arm-linux/bin/arm-linux-gcc可以运行
这个版本的arm-linux路径是hard-code的,所以我们不能修改安装目录
安装qte 2.3.6
------------------------------------------------------------------------------------------------------------------
推荐地址 http://wftp.tu-chemnitz.de/pub/Qt/source/qt-embedded-2.3.6-free.tar.gz
注:因为内置的就是qte 2.3,我们也用2.3,暂时不考虑qte 3或者qte 4
* 设置gcc环境变量
$ export PATH=/hao/toolchain/arm-linux/bin:$PATH
* 解压qte
* 设置QT环境变量
$ export QTDIR=QT安装目录
$ export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
修改配置,用g++而不是gcc来连接
------------------------------------------------------------------------------------------------------------------
修改$QTDIR/configs里头的cygwin-arm-g++-shared
SYSCONF_LINK = arm-linux-gcc
修改为
SYSCONF_LINK = arm-elf-g++
编译一个可用的moc.exe
------------------------------------------------------------------------------------------------------------------
$ ./configure -platform cygwin-arm-g++ -shared -thread -release
注意moc的问题,如果我们这样就编译它,那么得到的moc是arm版本的,后续的编译无法进行,所以我们要修改
src/moc/Makefile, 修改其中几行为
SYSCONF_CXX = g++
SYSCONF_CC = gcc
DASHCROSS =
SYSCONF_LINK = g++
在src/moc里头make,把moc.exe copy到$QTDIR/bin
编译QTE
-------------------------------------------------------------------------------------------------------------------
修改根目录的Makefile,注释掉moc的编译
src-moc: .buildopts symlinks FORCE
# cd src/moc; $(MAKE)
# -rm -f bin/moc
# cp src/moc/moc bin/moc
然后我们再回到$QTDIR来make,就可以完整的编译整个qte
注意,OpenGL,freeType等模块自行处理
编译测试程序forever
-------------------------------------------------------------------------------------------------------------------
$QTDIR/example/forever
修改Makefile, 改用 libqte-mt, E680上只有多线程的libqte-mt而没有libqte
编译forever
用ICQ8的脚本修改一下,运行它
实话说,这个比装个linux的交叉编译可能还麻烦些,不过用起来还是很方便的
以下内容,需要你对linux和gcc有足够了解。
安装cygwin
------------------------------------------------------------------------------------------------------------------
从http://www.cygwin.com下载,
推荐mirror为mirrors.kernel.org
记得安装make, gcc, mingw , binutils, perl, byacc, flex等开发工具
安装arm-linux交叉编译环境
------------------------------------------------------------------------------------------------------------------
http://ftp.kelp.or.kr/pub/arm-linux/people/xscale/cygwin-toolchain/arm-linux-toolchain-bin-for-cygwin-08-27-03.zip
安装到cygwin目录下/hao/toolchain目录中,确认一下/hao/toolchain/arm-linux/bin/arm-linux-gcc可以运行
这个版本的arm-linux路径是hard-code的,所以我们不能修改安装目录
安装qte 2.3.6
------------------------------------------------------------------------------------------------------------------
推荐地址 http://wftp.tu-chemnitz.de/pub/Qt/source/qt-embedded-2.3.6-free.tar.gz
注:因为内置的就是qte 2.3,我们也用2.3,暂时不考虑qte 3或者qte 4
* 设置gcc环境变量
$ export PATH=/hao/toolchain/arm-linux/bin:$PATH
* 解压qte
* 设置QT环境变量
$ export QTDIR=QT安装目录
$ export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
修改配置,用g++而不是gcc来连接
------------------------------------------------------------------------------------------------------------------
修改$QTDIR/configs里头的cygwin-arm-g++-shared
SYSCONF_LINK = arm-linux-gcc
修改为
SYSCONF_LINK = arm-elf-g++
编译一个可用的moc.exe
------------------------------------------------------------------------------------------------------------------
$ ./configure -platform cygwin-arm-g++ -shared -thread -release
注意moc的问题,如果我们这样就编译它,那么得到的moc是arm版本的,后续的编译无法进行,所以我们要修改
src/moc/Makefile, 修改其中几行为
SYSCONF_CXX = g++
SYSCONF_CC = gcc
DASHCROSS =
SYSCONF_LINK = g++
在src/moc里头make,把moc.exe copy到$QTDIR/bin
编译QTE
-------------------------------------------------------------------------------------------------------------------
修改根目录的Makefile,注释掉moc的编译
src-moc: .buildopts symlinks FORCE
# cd src/moc; $(MAKE)
# -rm -f bin/moc
# cp src/moc/moc bin/moc
然后我们再回到$QTDIR来make,就可以完整的编译整个qte
注意,OpenGL,freeType等模块自行处理
编译测试程序forever
-------------------------------------------------------------------------------------------------------------------
$QTDIR/example/forever
修改Makefile, 改用 libqte-mt, E680上只有多线程的libqte-mt而没有libqte
编译forever
用ICQ8的脚本修改一下,运行它
相关阅读 更多 +