• 6543阅读
  • 6回复

交叉编译 qte 加 -system-jpeg 出现如下错误,大家帮忙解决 [复制链接]

上一主题 下一主题
离线dongdong
 
只看楼主 倒序阅读 楼主  发表于: 2006-06-15
arm-linux-2.95.3交叉编译支持jpeg图像格式的qtopia-free-1.7.0时出现错误:

首先建立目录armqtopia,在此目录下解压qt-x11-2.3.2.tar.gz, qt-embedded-2.3.7.tar.gz 和 qtopia-free-1.7.0.tar.gz ,得到三个目录,更名为qt-x11,qt,qtopia
然后设置:
export QTDIR=$PWD/qt
export QPEDIR=$PWD/qtopia
export TMAKEDIR=$PWD/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/bin:$LD_LIBRARY_PATH

进入qt-x11目录,进行如下操作:
export QTDIR=$PWD
./configure -system-jpeg -thread -no-xft -no-opengl -sm
make
make -C src/moc
cp src/moc/moc bin
make -C src
make -C tools/designer
make -C tools/qvfb
cp tools/qvfb/qvfb bin
strip bin/uic bin/moc bin/designer bin/qvfb

然后回到armqtopia目录,将qt-x11得到的uic,moc,designer,qvfb拷贝到qt目录的bin下
cd ..
cp -f qt-x11/bin/?* qt/bin

将jpeg库交叉编译,然后拷贝到qt/lib下.
进入qt目录,进行配置,然后make
cd qt
cp ../qtopia/src/qt/qconfig-qpe.h src/tools/
./configure -qconfig qpe -depths 16,24,32 -xplatform linux-arm-g++ -thread -system-jpeg
make

然后对qtopia进行配置和编译:
cd qtopia/src
./configure -xplatform linux-arm-g++
make

编译qt-x11和qt-embeded时,均可以通过,但当编译qtopia时,出现错误;
arm-linux-gcc -L/faback/armqtopia/qtopia/lib -Wl,-rpath,/faback/armqtopia/qtopia/lib -L/faback/armqtopia/qt/lib -Wl,-rpath,/faback/armqtopia/qt/lib   -o /faback/armqtopia/qtopia/bin/sysinfo .obj/linux-arm-g++//memory.o .obj/linux-arm-g++//graph.o .obj/linux-arm-g++//load.o .obj/linux-arm-g++//storage.o .obj/linux-arm-g++//versioninfo.o .obj/linux-arm-g++//sysinfo.o .obj/linux-arm-g++//main.o .obj/linux-arm-g++//moc_memory.o .obj/linux-arm-g++//moc_graph.o .obj/linux-arm-g++//moc_load.o .obj/linux-arm-g++//moc_storage.o .obj/linux-arm-g++//moc_versioninfo.o .obj/linux-arm-g++//moc_sysinfo.o -lqpe -lqtopia -lqte -lm
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__fixsfsi'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__subsf3'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__floatsidf'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__adddf3'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__floatsisf'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__divdf3'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__muldf3'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__truncdfsf2'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__mulsf3'
/faback/armqtopia/qt/lib/libqte.so: undefined reference to `__addsf3'
collect2: ld returned 1 exit status
make[1]: *** [/faback/armqtopia/qtopia/bin/sysinfo] Error 1
make[1]: Leaving directory `/faback/armqtopia/qtopia/src/applications/sysinfo'
make: *** [applications/sysinfo] Error 2

如果去掉-system-jpeg选项,编译可以通过.
请问是什么原因造成的呢?请教各位高人!多谢了!
[ 此贴被XChinux在2006-06-15 11:55重新编辑 ]
好好学习天天向上
离线shiroki

只看该作者 1楼 发表于: 2006-06-15
你的libjpeg是动态库吗
要cp到toolchain的target/lib目录里,其他的目录都得拿-L指定,toolchain的ld才能找得到。
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线dongdong
只看该作者 2楼 发表于: 2006-06-16
我的libjpeg是动态的,而且按照你说的方法拷贝到了toolchain的lib 下面,但是在编译 qtopia 的时候还是出现 上面的那些错误, 麻烦在帮忙看看吧!
好好学习天天向上
离线shiroki

只看该作者 3楼 发表于: 2006-06-19
报的这几个undefined reference看起来不像是libjpeg里的阿
你先确定一下是哪个库的symbol没有找到, 才能决定下一步怎么处理

toolchain里有两个lib目录,你cp的是哪个? 应该cp到目录层数稍微深点儿的那个
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线dongdong
只看该作者 4楼 发表于: 2006-06-19
我拷贝到 /usr/local/2.95.3/arm-linux/lib 下面了 这个就是最深的了.但是效果一样
而且我用 readelf -a libqte.so.3.2.1 | grep jpeg 查看 libqt.so 所支持的库的时候.显示了很多jpeg的函数和变量.说Jpeg 已经在 qte.so . 里面了   上面出现的错误好像跟浮点运算有关系,请斑竹帮忙!!!!这个问题郁闷了我和久了.
好好学习天天向上
离线shiroki

只看该作者 5楼 发表于: 2006-06-19
我也不明白亚

试试把这个命令行里的arm-linux-gcc改成arm-linux-g++看看

arm-linux-gcc -L/faback/armqtopia/qtopia/lib -Wl,-rpath,/faback/armqtopia/qtopia/lib -L/faback/armqtopia/qt/lib -Wl,-rpath,/faback/armqtopia/qt/lib   -o /faback/armqtopia/qtopia/bin/sysinfo .obj/linux-arm-g++//memory.o .obj/linux-arm-g++//graph.o .obj/linux-arm-g++//load.o .obj/linux-arm-g++//storage.o .obj/linux-arm-g++//versioninfo.o .obj/linux-arm-g++//sysinfo.o .obj/linux-arm-g++//main.o .obj/linux-arm-g++//moc_memory.o .obj/linux-arm-g++//moc_graph.o .obj/linux-arm-g++//moc_load.o .obj/linux-arm-g++//moc_storage.o .obj/linux-arm-g++//moc_versioninfo.o .obj/linux-arm-g++//moc_sysinfo.o -lqpe -lqtopia -lqte -lm
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线shiroki

只看该作者 6楼 发表于: 2006-06-19
还有可能是cross compiler自身的问题, 也建议换个版本
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
快速回复
限100 字节
 
上一个 下一个