系统环境:Fedora10
用QT编写程序,出现以下错误:
hello.h:4:17: error: QtCore: No such file or directory
hello.h:5:16: error: QtGui: No such file or directory
hello.h:12:23: error: QPixmapCache: No such file or directory
hello.h:13:18: error: QThread: No such file or directory
make: *** [hello.o] Error 1
写程序的方式是先创建一个文件夹,将所有的源文件
都放置在文件夹下,然后用qmake -project,生成pro工程文件,
用qmake来生成Makefile文件,然后make生成可执行文件,
但在make过程中发现出错,寻找了一下原因,发现用的编译器
版本不对,
qmake -v
然后会显示qmake版本为:
Qmake version: 1.07a (Qt 3.3.8b)
Qmake is free software from Trolltech ASA.
qmake是QT3的编译器,但需要的是QT4的编译器,在一个系统中
装了两个版本的QT,很难区分它们的编译器,导致程序编译出错,
后来寻找了一下QT4的编译器,应该用qmake-qt4命令来调用编译器
#qmake-qt4 -project
#qmake-qt4
#make
执行结果:
g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/qt4/mkspecs/linux-g++
-I. -I/usr/include/QtCore -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtGui -I/usr/include -I. -I. -I. -o main.o main.cpp
/usr/lib/qt4/bin/moc -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtGui -I/usr/include -I. -I. -I. hello.h -o moc_hello.cpp
g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/qt4/mkspecs/linux-g++
-I. -I/usr/include/QtCore -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtGui -I/usr/include -I. -I. -I. -o moc_hello.o moc_hello.cpp
g++ -o hello main.o moc_hello.o -lQtGui -lQtCore -lpthread
成功生成可执行文件
QtCore: No such file or directory
原文地址:http://blog.csdn.net/wangjiaweiwei/article/details/44774133