LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3388|回复: 10

qt3不能编译,求助

[复制链接]
发表于 2003-6-17 15:08:42 | 显示全部楼层 |阅读模式
[zou@RFQ-ZYB try1]$ make
g++  -o try .obj/main.o .obj/tryform.o .obj/moc_tryform.o  -L/usr/lib/qt3/lib -L/usr/X11R6/lib -lqt -lXext -lX11 -lm
/usr//bin/ld: cannot find -lqt
collect2: ld returned 1 exit status
make: *** [try] 错误 1
[zou@RFQ-ZYB try1]$
请帮忙看看有可能是什么地方没有设置正确,谢谢
 楼主| 发表于 2003-6-17 15:31:16 | 显示全部楼层

说错了

说错了,是用qt3做出来的东西不能make出错
用的Makefile是用qmake生成的
发表于 2003-6-20 14:45:43 | 显示全部楼层
你对Qt做什么设置了?
这个错误消息是没有找到Qt库
看看你的系统设置吧
发表于 2003-6-20 15:48:22 | 显示全部楼层
你到/usr/lib/qt3/lib目录下看看库是什么名字,我的是qt-mt把-lqt换成-lqt-mt就行了。
发表于 2003-6-20 22:14:13 | 显示全部楼层
我第一次碰到这个问题也是郁闷了半天,总是找不到libqt.so。后来根据提示的路径发现有一个libqt-mt.so,改成-lqt-mt一试,居然成功。呵呵。。。个人感觉qt3的linux版把名字改成qt-mt有点不好理解的说。
发表于 2003-6-20 23:56:06 | 显示全部楼层
mt 是什么意思,multi-thread 么?
发表于 2003-6-21 07:45:55 | 显示全部楼层
不知道呀。是不是遵守GPL的版本才这样,还是所有QT3的都这样,真是搞不懂。
发表于 2003-6-25 21:29:14 | 显示全部楼层
是呀,一开始我也是被-lqt难住了好久,出此下策,进Kdevelop生成工程,再看Makefile,才发现要用-lqt-mt。
为了用qmake后不用再改Makefile,可以作一个符号链接:
#cd /usr/lib/qt3/lib
#ln -s libqt-mt.so.3.1.1 libqt.so
发表于 2003-6-26 09:51:02 | 显示全部楼层
大家可以好好看看./configure --help
里面说明了在X11下qt的编译分为-thread和-non-thread两类
前者支持线程,只有支持线程才可以支持opengl模块,编译出来的库叫qt-mt
后者没有线程支持,编译出来的库叫qt
主要是因为qt的一些类可能不是线程安全的
所以根据自己需要
可以编译不同的类库
当然
一般情况下
都编译为-thread,生成qt-mt库,然后再做到qt的链接
也没什么问题
./configure默认是使用-non-thread的
发表于 2003-6-26 10:49:50 | 显示全部楼层
呵呵,原来如此,多谢楼上的指点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表