QT-everywhere-opensource-src-4.8.0 移植arm飞凌6410 过程记录(ubuntu11.10+arm-linux-gcc-4.3.2)

此次记录的是我移植的心酸历程!原帖在http://bbs.witech.com.cn/thread-14486-1-1.html,今将其贴到自己的博客里。

我现在在ubuntu11.10上,已经把qt-everywhere-opensource-src-4.8.1.tar编译好了,目录在/usr/local/arm/qt-embeded-arm-4.8.0,在相应的arm6410Ok板子上也建了相应的目录,有两个问题很困惑我:
第一:有的教程说只把PC上编译好的/usr/local/arm/qt-embeded-arm-4.8.0/ 目录下的lib文件夹拷贝到 板子上,有的说把lib和plugins都拷过去,还有的说直接把qt-embeded-arm-4.8.0整个文件夹都拷到板子上。请问,到底拷哪一个????

第二:我在拷过去之后,设置环境变量,是不是一定要在板子上的/etc/profile里设置?? 都设置哪些环境变量啊??
export QTDIR=/usr/local/arm/qt_embeded-arm-4.8.0
export PATH=$QTDIR/binPATH
export LD_LIBRARY_PATH=$QTDIR/libLD_LIBRARY_PATH
我只设置这三个变量中么??

第三:看资料说有的还要root-qtopia,这个东西是干什么用的?是不是必须的? 我不安装只把前两步做好,自己编译的qt程序经交叉编译后 到arm上能正常运行吗??

我现在的情况是只拷贝了lib文件夹,环境变量设置了上面的三个,用export命令在dnw里面设置的,经env命令查看也设置正确了。但是出现error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory。
我到lib里去找,发现在PC机里有libQtGui.so.4这个文件,是个快捷方式,但在板子里没有。 我在pc上用ls -l 命令查看,这个快捷方式指向libQtGui.so.4.8.0。而这个文件板子里的lib是有的。我现在想着在板子里也建个快捷方式,或者把pc上的快捷方式也拷过来。还有什么先进的办法么??

小弟刚学移植,谢谢版主、大神们的指教了!!!!谢谢你们 希望得到回答 我的QQ 1603944332

我把libQtGui.so.4 libQtNetwork.so.4 libQtCore.so.4的快捷方式用ln命令在板子上建好后,在dnw里运行./hello, 出现
/lib/libc.so.6: version `GLIBC_2.9' not found (required by /usr/local/arm/qt_embeded-arm-4.8.0/lib/libQtGui.so.4)
./hello: /lib/libc.so.6: version `GLIBC_2.10' not found (required by /usr/local/arm/qt_embeded-arm-4.8.0/lib/libQtNetwork.so.4)
./hello: /lib/libc.so.6: version `GLIBC_2.9' not found (required by /usr/local/arm/qt_embeded-arm-4.8.0/lib/libQtCore.so.4)
这样的饿错误提示

`GLIBC_2.9' not found 我在网上百度了下,好像是编译器版本的问题。 我的交叉编译器为arm-linux-4.4.1板子的内核是3.0.1 ,pc的内核是3.0.0-12-generic应该没什么问题吧?莫非交叉编译器版本太高了???

我到我的PC机里,在交叉编译器arm-linux-4.4.1的目录下/arm-none-linux-gnueabi/libc/lib目录下,用 atrings libc.so.6 | grep GLIBC 得到的结果是:
GLIBC_2.4
GLIBC_2.5
..
GLIBC_2.9
GLIBC_2.10
这种情况我怎么搞呢?? 应该是编译器版本不一致的问题。是把arm-linux-4.4.1换低点,还是在板子里更新一下??高人指点一下吧 一路摸索至此啊!!



你可能感兴趣的:(OpenSource)