首页| 论坛| 消息

标题:Qtopia交叉编译问题?求助!
作者:atr
日期:2006-05-27 13:16
内容:

arm-linux-gcc -L/armsys2410/qt_arm/qtopia/lib -Wl,-rpath,/armsys2410/qt_arm/qtopia/lib -L/armsys2410/qt_arm/qt/lib -Wl,-rpath,/armsys2410/qt_arm/qt/lib -o /armsys2410/qt_arm/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
出现如下错误
/usr/local/arm/bin/../lib/gcc-lib/arm-linux/3.2/../../../../arm-linux/bin/ld: warning: libuuid.so.1, needed by /armsys2410/qt_arm/qtopia/lib/libqtopia.so, not found (try using -rpath or -rpath-link)
/armsys2410/qt_arm/qtopia/lib/libqtopia.so: undefined reference to `uuid_generate'
但是libuuid.so.1已经在相应目录下,即/armsys2410/qt_arm/qtopia/lib下面,不知道为何出错。
各位大侠帮帮忙!
我的gcc版本是3.2.2


#1 [shiroki 05-27 18:18]
libuuid.so.1最好的放置位置是toolchain的target目录的lib下。
所谓target的目录在toolchain内部, 组织方式类似一个rootfs, 你可以在toolchain目录里搜一下stdlib.h之类的文件, 这些头文件都是在target的include里的, 对应的找到lib就可以了。 这里才是toolchain里的ld默认的搜索路径。 qtopia的lib路径默认情况ld是不会去搜索的。
#2 [atr 06-01 16:48]
谢谢解答!我改了后,上面地问题是没了
在最后链接是出现了下面错误:
/usr/local/arm/bin/../lib/gcc-lib/arm-linux/3.2/libgcc.a(_udivsi3.oS): In function `__udivsi3':
_udivsi3.oS(.text+0x0): multiple definition of `__udivsi3'
类似的错误还有很多,这是怎么回事呢?
#3 [shiroki 06-05 20:40]
你还是把环境清了重新来一遍吧
像是某个库被静态编译进去了? 瞎猜的。 你贴的信息太不完整了,看不出什么来。
你仔细看看编译的命令行和输出的错误信息,肯定有重复的地方编译器才会报重复定义的
#4 [atr 06-07 11:03]
嗯,回去我再试试。不过机子上arm-linux-gcc的版本是3.2的,Qtopia要求的版本是2.95.3,这样版本不同的话有没可能出现这种错误?
#5 [shiroki 06-07 15:29]
你编的qtopia是什么版本? qtopia应该不会要求特定版本的编译器,一般会给出一个经过测试的编译器范围。
从你贴的错误信息来看,不是编译器的问题

回复 发表
主题 版块