我在windows上编译有麻烦,因为我在QT 5.0.1(来自http://qt-project.org/downloads)和模块qtsingleapplication(来自http://qt.gitorious.org/qt-solutions的最新版本)上移动。
在Linux下,编译仍然工作(Qt 4.8.2)
我不明白为什么。这是qtcreator的详细输出。
[p] 09:57:58: exmocetion des sametpour le project Wahoo.
[09:57:58]配置inchang宇航,宇航QMake saaut宇航。
09:57:58: dsambute: "D:QtQt5.0.1ToolsMinGWbinmingw32-make.exe"D:/Qt/Qt5.0.1/Tools/MinGW/bin/mingw32-make -f Makefile. exe发布
mingw32-make[1]:进入目录"C:/Documents and Settings/crazy/Bureau/Kowmedia"。卫矛/src/构建版本/释放"g++ -c -pipe -fno-keep-inline-dllexport -O2 -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_NEEDS_QMAIN - ....火树-我"……火树 qtsingleapplication src "我"D: Qt Qt5.0.1 5.0.1 mingw47_32 包括"我" D: Qt Qt5.0.1 5.0.1 mingw47_32 QtWebKit包括"我"D: Qt Qt5.0.1 5.0.1 mingw47_32 QtWidgets包括"我"D: Qt Qt5.0.1 5.0.1 mingw47_32 QtXml包括"我"D: Qt Qt5.0.1 5.0.1 mingw47_32 QtNetwork包括"我"D: Qt Qt5.0.1 5.0.1 mingw47_32 QtGui包括"我"D: Qt Qt5.0.1 5.0.1 mingw47_32 QtCore包括"我"发布"我"。"我"。"-I"D:QtQt5.0.15.0.1mingw47_32mkspecswin32-g++" -o releaseqtsingleapplication。O ....wahooqtsingleapplicationsrcqtsingleapplication.cpp
g++ -pipe -fno- keepin -inline-dllexport -O2 -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_NEEDS_QMAIN ./../wahoo/qtsingleapplication/src/qtsingleapplication.cpp -o ./…/wahoo/qtsingleapplication/src/qtsingleapplication
从../../wahoo/qtsingleapplication/src/qtsingleapplication.cpp:42:0:
../../wahoo/qtsingleapplication/src/qtsingleapplication.h:44:24:致命错误:QApplication: No such file or directory编译终止。
: recipe for target '../../火树/qtsingleapplication/src/qtsingleapplication '失败
Mingw32-make [1]: ** [../..]/wahoo/qtsingleapplication/src/qtsingleapplication] Error 1
mingw32-make[1]:离开目录C:/Documents and Settings/crazy/Bureau/Kowmedia。卫矛/src/构建版本/释放"
Makefile:34: recipe for target 'release' failed
mingw32-make: ** [release] Error 2
[09:57:59]运行进程"D:QtQt5.0.1ToolsMinGWbinmingw32-make.exe" s'est terminesaveclecode 2.
构建/部署Wahoo项目时出错(工具包:Desktop Qt 5.0.1 MinGW 32位)"Make"
每个文件都有,选项-I"D:QtQt5.0.15.0.1mingw47_32includeQtWidgets"也是。如果我从源代码开始浏览,QtCreator可以找到该文件。所以我有点迷路了…
提前感谢您
…QApplication:没有这样的文件或目录…
尝试添加
QT += widgets
在你的。pro文件。我也有同样的信息…看起来从5.0开始,基于qt的应用程序默认不喜欢小部件……大家都搬到QML了吗?
PS:现在,作为这个任务的下一个点-我有QPrinter找不到)
这表明您在IDE中错误地配置了库搜索路径。没有找到QT SDK库。您是否使用QT工具和/或安装手册安装了所有内容?
"QApplication"是#include <qapplication>
包含的头文件之一。根据您安装的SDK的方式和类型,它可能会驻留,例如:
Nokia SDK with Carbide/Eclipse:
C:????NokiadevicesNokia_Symbian_Belle_SDK_v1.0epoc32includemwqtgui
QtCreator and QT SDK installer:
C:????QtSDKSymbianSDKsSymbianSR1Qt474includeQtGui
在哪里? ?表示您在安装工具时选择的位置。首先,检查你是否有这个文件。
如果你有它,如果它没有损坏,如果你没有错误的驱动程序等,然后检查你的QT项目文件,检查你是否真的有所有的导入和包括设置正确。也许你忘记了一些"include"后缀,或者你有一个太多了?LINUX和WIN32的构建配置通常在许多设置上不同,很容易意外地混淆一些设置路径的条件
编辑:感谢更新!路径看起来确实不错
我重新阅读了你的错误日志,在我重新格式化它之前,一切看起来都很好。奇怪的东西突然冒了出来。请查看第一个g++调用,并将其与第二个失败的调用进行比较。
第二个缺少所有的路径设置。但这是正常的。第一个执行编译,第二个是链接。通过不带"-c"参数的g++ -c
和g++
来区分。但是看看传递给g++的文件。
第一个程序将qtsingleapplication.cpp
编译为qtsingleapplication.o
,第二个程序试图将qtsingleapplication.cpp
链接为-o QtSingleApplication
。
我认为:
- 第二行忘记了参数"-c"和所有
-I
路径 - 或第二行有无效的输入文件,应该是
qtsingleapplication.o
而不是.cpp
我猜你真的有一些开关/条件混乱在你的qtpros:win32的情况下。很抱歉我不能告诉你更多,在这一点上,我必须尝试自己编译项目并调查makefiles/qtprojects。尝试回溯第二行代码是如何生成的,以及使用了哪些makefile/qtproj变量,然后再检查两遍甚至三遍项目设置。不要在IDE中这样做,而是在实际使用的项目文件中这样做。IDE有时会对你隐藏一些条件和设置,尤其是QT Creator喜欢这样做。
我也遇到过这个问题。
一旦我加入
QT += widgets
像Denjs建议的,我还需要添加:
INCLUDEPATH += $$PWD/../qtsingleapplication-2.6-opensource/src/
是QtSingleApplication源文件的位置。
我是Qt的新手,当我尝试第一个程序后qmake项目qmake hello.pro
" make "后出现错误:"QApplication"文件未找到
但是使用相同的代码,它可以在Qt Creator上成功调试。当我想要释放它时,同样的错误发生了。
解决方案是修改.pro文件。添加以下两行:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets