Qt5程序无法编译

时间:2013-08-07 20:22:22

标签: qt

我正在努力让Qt5在Ubuntu 12.04上运行。我从http://qt-project.org/downloads下载了32位安装程序,基本上只是让它安装在我的主文件夹中的所有内容。

我必须将〜/ Qt / 5.1.0 / gcc / bin添加到我的路径才能使qmake正常工作,但现在当我尝试制作一个hello qt示例(使用qt4 book)时,在运行make时,它无法找到QApplicationQLabel标题。当我用QtWidgets/QApplication替换它时,它会找到标题,但是在链接时我得到所有未定义的引用。

这是命令make execution:

g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../Qt/5.1.0/gcc/mkspecs/linux-g++ -I. -I. -I../../../../Qt/5.1.0/gcc/include -I../../../../Qt/5.1.0/gcc/include/QtGui -I../../../../Qt/5.1.0/gcc/include/QtCore -I. -o hello.o hello.C

我设法弄清楚它是qmake -project做错了什么。当我在Qt Creator中创建一个应用程序(实际上有效)时,.pro文件中有QT += widgets这样的行,当我在命令行上运行它时,它们就不存在了。

2 个答案:

答案 0 :(得分:1)

我使用qmake --help找到答案。这实际上说:

  

注意:创建的.pro文件可能会                    需要编辑。例如,将QT变量添加到                    指定所需的模块。

将这些行添加到.pro文件中解决了问题:

QT += core gui
QT += widgets

答案 1 :(得分:0)

作为在运行qmake -project后手动编辑.pro文件的替代方法,您可以在命令行上指定将包含在生成的文件中的分配:

qmake -project "QT = core gui widgets" 

请参阅http://qt-project.org/doc/qt-5.1/qtdoc/qmake-running.html