• 5262阅读
  • 4回复

[讨论]交叉编译QT4.4产生的问题 [复制链接]

上一主题 下一主题
离线superccxin
 

只看楼主 倒序阅读 楼主  发表于: 2011-05-26
各位好!最近尝试在Linux下移植QT4.4到microblaze平台,但却遇到一些奇怪的问题,请各位大侠帮忙看下,不胜感激:
1、采样3.4.1版本的交叉编译工具时,所有的C++库都能找到,但却无法识别-shared选项,并提示无法找到ldl(在qws的conf文件中标注)
2、采用4.1.2版本的交叉编译工具时,一直提示无法找到C++库里面的new,交叉编译工具的路径已添加到环境变量中
离线xiaojie12345
只看该作者 1楼 发表于: 2011-05-28
你的问题没有说清楚,配置时加-shared是要编译成动态库,一般会有这个选项的,你./configure -help看看具体的配置选项
离线superccxin

只看该作者 2楼 发表于: 2011-05-30
xiaojie 你好!第一个问题可以不用纠结了,主要是第二个问题,我的编译器是4.1.2的,编译QT4.4/4.5的时候老是提示一些莫名其妙的问题,像上面我说的那个找不到new,我在confiure后添加-I路径后可以继续往下编译,但出现了类似'__U8' doesnot name a type的问题..这些问题都是编译器的关系么?
离线xiaojie12345
只看该作者 3楼 发表于: 2011-05-30
这个应该是没有包含types.h头文件吧!这个文件里有__u8这种类型的定义,你加上试试!
离线superccxin

只看该作者 4楼 发表于: 2011-05-30
确定是有包含的,type.h下#include<asm-generic/type.h>,所有__u开头的类型都在该文件下定义.我感觉是编译器的问题.我后来的解决办法是强制在出错的文件中加入以下代码:
#ifndef __uxx
//定义__uxx
#endif
完成编译后再去掉该段代码,这样可以解决出现的问题.但具体原因我实在是想不明白.
快速回复
限100 字节
 
上一个 下一个