• 15961阅读
  • 16回复

cannot find -lqte [复制链接]

上一主题 下一主题
离线男孩子
 

只看楼主 倒序阅读 楼主  发表于: 2006-04-02
每次交叉编译都出现这个错误,看了看网上很多人也都遇到这个问题,却没有找到一个解决办法。高人指点啊。

把我这次具体的例子贴出来:

[root@lzg dclock]# make
arm-linux-g++ -o dclock dclock.o main.o moc_dclock.o -L/usr/local/arm-linux/lib -L/opt/qte/lib -lm -lqte
/usr/local/arm-linux/lib/gcc/arm-linux/3.4.3/../../../../arm-linux/bin/ld: cannot find -lqte
collect2: ld returned 1 exit status
make: *** [dclock] Error 1
离线linuzer

只看该作者 1楼 发表于: 2006-04-02
应该是你的qte没有编译成功
/opt/qte/lib下面回有libqte.so.*.*的
你的qte是单独的版本还是和qtopia集成的?
集成的好像在qtopia/lib目录下
离线男孩子

只看该作者 2楼 发表于: 2006-04-02
我用的是研兴科技EDK270开发板带的qte,里边有个shell文件,运行自动安装。我自习看了出了一些libqte-mt.so还真没你说的。

Qtopia的集成开发环境我也有,但是里边的库好象都是x86平台的。

多谢指点:)
离线男孩子

只看该作者 3楼 发表于: 2006-04-02
可是我现在又迷惑了,为什么会没有libqte库呢?编译的不对还是别的原因?
离线linuzer

只看该作者 4楼 发表于: 2006-04-02
好像比较新的qte版本里面编译出来的是libqte-mt.so(我的qte3.3就是)
你可以进Makefile文件看看,找到下面一行
LIBS   = $(SUBLIBS) -L/usr/local/qt-embedded-free-3.3.3/lib -lqte-mt -lz -ldl -lpthread
看到了吧,要联接的是libqte-mt.so
你可以把-lqte改成-lqte-mt
还有,和你的make文件是怎么生成的有关
建议你看看开发版的文档
离线男孩子

只看该作者 5楼 发表于: 2006-04-02
刚刚看了我的版本是qt-embedded-free-3.0.4,按照你说的修改了Makefile,结果变成这样了:

[root@lzg dclock]# make
arm-linux-g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -                             I/opt/qte/include -o dclock.o dclock.cpp
arm-linux-g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -                             I/opt/qte/include -o main.o main.cpp
/opt/qte/bin/moc dclock.h -o moc_dclock.cpp
arm-linux-g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -DNO_DEBUG -                             I/opt/qte/include -o moc_dclock.o moc_dclock.cpp
arm-linux-g++ -o dclock dclock.o main.o moc_dclock.o -L/usr/local/arm-linux/li                             b -L/opt/qte/lib -lm -lqte-mt
/usr/local/arm-linux/lib/gcc/arm-linux/3.4.3/../../../../arm-linux/bin/ld: warni                             ng: libts-0.0.so.0, needed by /opt/qte/lib/libqte-mt.so, not found (try using -r                             path or -rpath-link)
/opt/qte/lib/libqte-mt.so: undefined reference to `ts_close'
/opt/qte/lib/libqte-mt.so: undefined reference to `ts_config'
/opt/qte/lib/libqte-mt.so: undefined reference to `ts_read'
/opt/qte/lib/libqte-mt.so: undefined reference to `ts_open'
collect2: ld returned 1 exit status
make: *** [dclock] Error 1


还望指点啊。
离线linuzer

只看该作者 6楼 发表于: 2006-04-02
你没有libts库啊
ts就是touch screen
好像我的qte3.3没有提示错误,可能是集成了吧
你再单独编译一下tslib,把编译好的tslib,.h文件复制到,qte的目录下
修改makefile,
LIBS   = $(SUBLIBS) -L/usr/local/qt-embedded-free-3.3.3/lib -lqte-mt -lz -ldl -lpthread -lts //加上libts
我说的好像有点罗嗦了,仅供参考
离线linuzer

只看该作者 7楼 发表于: 2006-04-02
libts-0.0.so.0, needed by /opt/qte/lib/libqte-mt.so, not found
从这一句话也可以看出你确实缺少libts库啊
离线男孩子

只看该作者 8楼 发表于: 2006-04-02
正在编qte2.3.10,希望可以解决问题

多谢linuzer :)
离线fengshenx

只看该作者 9楼 发表于: 2006-04-02
传一个tslib给你吧..

%cd tslib
%export CC=arm-linux-gcc
%./autogen.sh
%./configure --host=arm-linux
%make
%cp -a src/.libs/* ../qt-2.3.7/lib/
%cp -a plugins/.libs/*.so ../qt-2.3.7/lib/

我的源文件是bz2的,论坛不让上传,
解了压成rar的时候报了个错,不知道能不能用。
附件: tslib.rar (84 K) 下载次数:87
离线男孩子

只看该作者 10楼 发表于: 2006-04-03
多谢各位相助了,昨天晚上自己动了动脑筋,查看了其本身编译是examples里边文件的link,原来后边不是-lqte,而是 -lqte-mt -lpthread -ldl -lts,修改我的Makefile之后就可以用了。

所以其他各位如果谁遇到此类问题,一定不要太相信tmake生成的makefile。

再次谢谢linuzer

也谢谢fengshenx ;)
离线linuzer

只看该作者 11楼 发表于: 2006-04-03
我编译tslib的时候出现如下的错误是什么原因?
离线linuzer

只看该作者 12楼 发表于: 2006-04-03
libtool: link: only absolute run-paths are allowed
离线windytwang

只看该作者 13楼 发表于: 2006-04-04
我也是这个毛病,希望大家指点
离线flypenguin
只看该作者 14楼 发表于: 2006-04-06
我也是楼上的问题,郁闷了好几天了。一直想不明白。那位大大给指点一下,不胜感激。
另:愿与各位大大交个朋友,交流QT,嵌入式技术问题。QQ:18449475
离线lewis7799
只看该作者 15楼 发表于: 2006-04-06
你设置环境变量的时候,要用绝对路径,不要用相对路径。

I think so I am ...
离线windytwang

只看该作者 16楼 发表于: 2006-04-06
tslib我装好了,编译错误是因为tslib makefile有错误,要一下:
So edit the file Makefile in dir /tslib/plugins
search rpath
change the line to
LDFLAGS := $(LDFLAGS) -rpath `cd $(PLUGIN_DIR) && pwd`
快速回复
限100 字节
 
上一个 下一个