我的OS是rh9,qt用的是自带的qt-3.1。在/zfr/qt/qt-embedded-3.3.3目录下编译了qte。昨天想编一下qvfb。看了install-qws.html,知道要把qvfb当作一个qt的程序来编。于是这样做的:
export QMAKESPEC=/usr/lib/qt-3.1/mkspec/linux-g++
export QTDIR=/usr/lib/qt-3.1
export LD_LIBRARY_PATH=/usr/lib/qt-3.1/lib
/usr/lib/qt-3.1/bin/qmake –o Makefile /zfr/qt/qt-embedded-3.3.3/tools/qvfb/qvfb.pro
生成的Makefile中,lib库竟然是这样写的!
LIBS = $(SUBLIBS) –L/zfr/qt/qt-embedded-3.3.3/lib -L/usr/X11R6/lib -lqt-mt -lXext......
显然这里应该是-L/usr/lib/qt-3.1/lib嘛。手工该Makefile是不可行的,因为生成的.moc和.obj已经使用了qte的库。
后来重新解压了qte,在没有编译过的qte中,将moc从qt拷到qte中,执行qmake后,Makefile是这样的:LIBS =…… $(QTDIR)/lib。然后编译就正确了。这个问题在哪呢。难道必须先编译QVFB,再编译qte吗?