• 5038阅读
  • 6回复

QT 交叉编译出错 [复制链接]

上一主题 下一主题
离线nanazi850
 

只看楼主 正序阅读 楼主  发表于: 2009-09-23
qtopia  for arm的编译步骤:

tar xfz qt-embedded-2.3.7.tar.gz
tar xfz qt-x11-2.3.2.tar.gz
tar xfz qtopia-free1.7.0.tar.gz
tar xfz tmake-1.11.tar.gz

export QTEDIR=/work/qt-2.3.7
export QT2DIR=/work/qt-2.3.2
export QPEDIR=/work/qtopia-free-1.7.0
export TMAKEDIR=/work/tmake-1.11
export TMAKEPATH=$PWD/tmake-1.11/lib/qws/linux-arm-g++
export PATH=$TMAKEDIR/bin:$PATH

cd qt-2.3.2
export QTDIR=$QT2DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -no-xft
make
make -C tools/qvfb

cd ..
tar xzf libjpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --enable-shared
make
修改生成的Makefile文件:
prefix = qt-embeddedd的文件夹路径(如: /work/qt-2.3.7)
CC= /usr/local/arm/2.95.3/bin/arm-linux-gcc
AR= /usr/local/arm/2.95.3/bin/arm-linux-ar rc
AR2= /usr/local/arm/2.95.3/bin/arm-linux-ranlib
保存
在qt-embedded目录中建立man/man1文件家,否则安装jpeg库时会出错
mkdir -p ../qt-2.3.7/man/man1
make(记得先make,再安装)
make install
cp /work/qt-2.3.7/lib/libjpeg.* /usr/local/arm/2.95.3/arm-linux/lib
(就可以给qt-embedded添加好for arm的libjpeg库.(在../qt-2.3.7/lib下)
把生成的库文件向下面的目录中也拷贝一份:
/usr/local/arm/2.95.3/arm-linux/lib)
通过命令file libjpeg.so查看得到:
出错一:File error while loading shared libraries:libc.so.6:ELF file OS ABI invalid
出错二:error while loading shared libraries:cannot open shared object file: cannot load y
重复上面的编译步骤有得到:Libjpeg.so:symbolic link to libjpeg.so.62.0.0
一直没有得到应该有的:libjpeg.so: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped
已经困扰7天了啊,哪位贵人帮忙看看步骤哪有错,找找问题,万分感谢啊
QQ420594357
离线nanazi850

只看该作者 6楼 发表于: 2009-09-29
您说的我不是很清楚啊?能先细说一下啊?谢了啊
离线rqzrqh

只看该作者 5楼 发表于: 2009-09-26
libjpeg不是编译生成的库吗?
离线nanazi850

只看该作者 4楼 发表于: 2009-09-25
谢谢您的建议,详细请问一下是把libjpeg.doc libjpeg.doc ,libjpeg.la libjpeg.so libjpeg.so.62.libjpeg.so.62.0.0都打包为压缩文件吗??还是只压缩哪几个文件啊?
还有我看到网上说,要把一些gcc改为g++,不明白为什么,该了之后也没有起色啊,困惑
懂得file 命令,但是file了以后就是出现不了自己想要的啊,郁闷
期待回复
离线rqzrqh

只看该作者 3楼 发表于: 2009-09-25
引用第2楼nanazi850于2009-09-25 09:33发表的  :
rqzrqh 您好,我又加了一句export PATH=$QTEDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH按照上面的步骤重新编译,File error while loading shared libraries:libc.so.6:ELF file OS ABI invalid已经没有了啊,~~通过命令file libjpeg.so查看得到:Libjpeg.so:symbolic link to libjpeg.so.62.0.0
想请问CP 库文件时,是只拷.so 文件,还是libjpeg.*全部拷贝,
再有想请问怎样设环境变量才能出现这句话啊???libjpeg.so: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped
急,十万火急,请帮忙检查一下,指条明路啊,谢谢啊

拷贝的时候要先打包,然后拷贝过去,不然的话会失去一些库的指向
“libjpeg.so: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped”用file命令查看生成的二进制文件
离线nanazi850

只看该作者 2楼 发表于: 2009-09-25
rqzrqh 您好,我又加了一句export PATH=$QTEDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH按照上面的步骤重新编译,File error while loading shared libraries:libc.so.6:ELF file OS ABI invalid已经没有了啊,~~通过命令file libjpeg.so查看得到:Libjpeg.so:symbolic link to libjpeg.so.62.0.0

想请问CP 库文件时,是只拷.so 文件,还是libjpeg.*全部拷贝,
再有想请问怎样设环境变量才能出现这句话啊???libjpeg.so: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped
急,十万火急,请帮忙检查一下,指条明路啊,谢谢啊
离线rqzrqh

只看该作者 1楼 发表于: 2009-09-24
libc库是ARM上的?路径指定正确?
快速回复
限100 字节
 
上一个 下一个