我使用的是qt.2,想测试一个多线程的例子。在我的工程文件里添加了thread,而后用tmake生成makefile。makefile里已经支持了 -DQT_THREAD_SUPPORT,在make的时候出现了错误如下:
QTDIR=/usr/lib/qt-3.1
LD_LIBRARY_PATH=/usr/lib/qt-3.1/lib:
make.....
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -fno-default-inline -D_REENTRANT -DNO_DEBUG -DQT_THREAD_SUPPORT -I/usr/lib/qt-3.1/include -o multithread.o multithread.cpp
g++ -o multithread multithread.o -L/usr/lib/qt-3.1/lib -lm -lqte-mt -lpthread
/usr/bin/ld: cannot find -lqte-mt
collect2: ld returned 1 exit status
make: *** [multithread] Error 1
根据提示错误,好像是没有连接的时候没有找到支持线程的qt的库,请问我应该怎么修改呢?
我的makefile如下:
#############################################################################
# Makefile for building multithread
# Generated by tmake at 16:09, 2006/06/23
# Project: multithread
# Template: app
#############################################################################
####### Compiler, tools and options
CC = gcc
CXX = g++
CFLAGS = -pipe -Wall -W -O2 -fno-default-inline -D_REENTRANT -DNO_DEBUG -DQT_THREAD_SUPPORT
CXXFLAGS= -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -fno-default-inline -D_REENTRANT -DNO_DEBUG -DQT_THREAD_SUPPORT
INCPATH = -I$(QTDIR)/include
LINK = g++
LFLAGS =
LIBS = $(SUBLIBS) -L$(QTDIR)/lib -lm -lqte-mt -lpthread
MOC = $(QTDIR)/bin/moc
UIC = $(QTDIR)/bin/uic
TAR = tar -cf
GZIP = gzip -9f
####### Files
HEADERS =
SOURCES = multithread.cpp
####### Files
HEADERS =
SOURCES = multithread.cpp
OBJECTS = multithread.o
INTERFACES =
UICDECLS =
UICIMPLS =
SRCMOC =
OBJMOC =
DIST =
TARGET = multithread
INTERFACE_DECL_PATH = .
####### Implicit rules
.SUFFIXES: .cpp .cxx .cc .C .c
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.C.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
####### Build rules
all: $(TARGET)
$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
moc: $(SRCMOC)
tmake: Makefile
Makefile: multithread.pro
tmake multithread.pro -o Makefile
dist:
$(TAR) multithread.tar multithread.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST)
$(GZIP) multithread.tar
clean:
-rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET)
-rm -f *~ core
####### Sub-libraries
###### Combined headers
####### Compile
multithread.o: multithread.cpp
谢谢大家的帮助!