• 10377阅读
  • 10回复

[提问]关于windows下编译QT 程序的问题 [复制链接]

上一主题 下一主题
离线zhaoyi4374
 

只看楼主 倒序阅读 楼主  发表于: 2011-08-05
我编译QT自带的范例时,用qmake生成MakeFile后用make命令,结果出现如下错误
请问各位如何解决啊


C:\Qt\4.7.3\examples\qmake\tutorial make all
make -f Makefile.Release all
make[1]: Entering directory `/c/Qt/4.7.3/examples/qmake/tutorial'
g++ -c -O2 -Wall -fno-exceptions -fno-rtti -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT
_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_N
O_DYNAMIC_CAST -I'c:/iwmake/build_mingw_opensource/include/QtCore' -I'c:/iwmake/
build_mingw_opensource/include/QtGui' -I'c:/iwmake/build_mingw_opensource/includ
e' -I'c:/iwmake/build_mingw_opensource/include/ActiveQt' -I'release' -I'../../..
/mkspecs/win32-g++' -o release/hello.o hello.cpp
hello.cpp:41:18: fatal error: QDebug: No such file or directory
compilation terminated.
make[1]: *** [release/hello.o] Error 1
make[1]: Leaving directory `/c/Qt/4.7.3/examples/qmake/tutorial'
make: *** [release-all] Error 2
shell returned 2
Hit any key to close this window...
离线XChinux

只看该作者 1楼 发表于: 2011-08-05
加头文件#include <QtDebug>
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线dbzhang800

只看该作者 2楼 发表于: 2011-08-05
看起来他的环境有问题

Qt装在了
C:\Qt\4.7.3

而编译器却尝试去
c:/iwmake/build_mingw_opensource/include/QtCore
下面找Qt的头文件
离线zhaoyi4374

只看该作者 3楼 发表于: 2011-08-05
回 2楼(dbzhang800) 的帖子
我也是这么怀疑的。
环境怎么设置呢??
离线dbzhang800

只看该作者 4楼 发表于: 2011-08-05
不妨先贴出

qmake -query
的运行结果
离线zhaoyi4374

只看该作者 5楼 发表于: 2011-08-05
回 4楼(dbzhang800) 的帖子
貌似未见明显异常哦

C:\Qt\4.7.3\examples\qmake\tutorial qmake -query
QT_INSTALL_PREFIX:C:\Qt\4.7.3
QT_INSTALL_DATA:C:/Qt/4.7.3
QT_INSTALL_DOCS:C:/Qt/4.7.3/doc
QT_INSTALL_HEADERS:C:/Qt/4.7.3/include
QT_INSTALL_LIBS:C:/Qt/4.7.3/lib
QT_INSTALL_BINS:C:/Qt/4.7.3/bin
QT_INSTALL_PLUGINS:C:/Qt/4.7.3/plugins
QT_INSTALL_IMPORTS:C:/Qt/4.7.3/imports
QT_INSTALL_TRANSLATIONS:C:/Qt/4.7.3/translatio
QT_INSTALL_CONFIGURATION:C:/Qt/4.7.3
QT_INSTALL_EXAMPLES:C:/Qt/4.7.3/examples
QT_INSTALL_DEMOS:C:/Qt/4.7.3/demos
QMAKE_MKSPECS:C:/Qt/4.7.3\mkspecs
QMAKE_VERSION:2.01a
QT_VERSION:4.7.3
离线dbzhang800

只看该作者 6楼 发表于: 2011-08-05
Re:回 4楼(dbzhang800) 的帖子
引用第5楼zhaoyi4374于2011-08-05 15:36发表的 回 4楼(dbzhang800) 的帖子 :
貌似未见明显异常哦
C:\Qt\4.7.3\examples\qmake\tutorial qmake -query
QT_INSTALL_PREFIX:C:\Qt\4.7.3
QT_INSTALL_DATA:C:/Qt/4.7.3
.......

恩,看起来比较正常,你应该考虑重新运行qmake来生成工程的makefile文件
离线zhaoyi4374

只看该作者 7楼 发表于: 2011-08-05
回 6楼(dbzhang800) 的帖子
生成n次了,都报这个错。
奇了怪。
离线dbzhang800

只看该作者 8楼 发表于: 2011-08-05
新建一个目录,比如abc
mkdir abc
cd abc

新建一个文件,比如 main.cpp
notepad main.cpp
空文件保存即可

运行qmake 生成makefile

qmake -project
qmake

贴出 Makefile.Debug 的前几行(不包括注释)
离线zhaoyi4374

只看该作者 9楼 发表于: 2011-08-05
回 8楼(dbzhang800) 的帖子
按您的方法操作了一遍,居然成功了

这个是qmake生成的MakeFile.Debug文件
CC            = gcc
CXX           = g++
DEFINES       = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
CFLAGS        = -g -Wall $(DEFINES)
CXXFLAGS      = -g -frtti -fexceptions -mthreads -Wall $(DEFINES)
INCPATH       = -I'c:/Qt/4.7.3/include/QtCore' -I'c:/Qt/4.7.3/include/QtGui' -I'c:/Qt/4.7.3/include' -I'.' -I'c:/Qt/4.7.3/include/ActiveQt' -I'debug' -I'c:/Qt/4.7.3/mkspecs/win32-g++'
LINK        =        g++
LFLAGS        =        -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows
LIBS        =        -L'c:/Qt/4.7.3/lib' -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4

用我原来的方法生成的MakeFile.Debug文件,两个文件的中的路径不一样,不知道是什么原因
CC            = gcc
CXX           = g++
DEFINES       = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -DQT_NO_DYNAMIC_CAST
CFLAGS        = -g -Wall $(DEFINES)
CXXFLAGS      = -g -Wall -fno-exceptions -fno-rtti $(DEFINES)
INCPATH       = -I'c:/iwmake/build_mingw_opensource/include/QtCore' -I'c:/iwmake/build_mingw_opensource/include/QtGui' -I'c:/iwmake/build_mingw_opensource/include' -I'c:/iwmake/build_mingw_opensource/include/ActiveQt' -I'debug' -I'../../../mkspecs/win32-g++'
LINK        =        g++
LFLAGS        =        -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,windows
LIBS        =        -L'c:/iwmake/build_mingw_opensource/lib' -lmingw32 -lqtmaind -lQtGuid -lQtCored
离线zhaoyi4374

只看该作者 10楼 发表于: 2011-08-05
回 8楼(dbzhang800) 的帖子
我找到原因了,呵呵
在我自己写的.pro文件里面
CONFIG += qt
在自动生成的.pro文件里面
CONFIG += app
我把原来的.pro文件修改后也可以编译成功了
不知道这个参数具体是用来干嘛的
快速回复
限100 字节
 
上一个 下一个