• 6699阅读
  • 3回复

qt4.6的qtdemo例子的编译问题? [复制链接]

上一主题 下一主题
离线wxj120bw
 

只看楼主 倒序阅读 楼主  发表于: 2010-09-14
qt4.6有个例子qtdemo,编译的提示Makefile.Release问题,错误信息如下

Configuration unchanged, skipping qmake step.
Starting: "E:\Qt\2010.04\mingw\bin\mingw32-make.exe"
E:/Qt/2010.04/mingw/bin/mingw32-make -f Makefile.Release
Makefile.Release:105: *** missing separator. Stop.
mingw32-make: *** [release] Error 2

mingw32-make[1]: Entering directory `E:/Qt/2010.04/qt/demos/qtdemo'
mingw32-make[1]: Leaving directory `E:/Qt/2010.04/qt/demos/qtdemo'
The process "E:\Qt\2010.04\mingw\bin\mingw32-make.exe" exited with code %2.
Error while building project qtdemo (target: Desktop)
When executing build step 'Make'

而Makefile.Release文件如下
####### Implicit rules

.SUFFIXES: .c .cpp .cc .cxx

{.moc}.cpp{.obj\}.obj::
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo.obj\ @<<
        $<
<<        这里是105行

{.moc}.cc{.obj\}.obj::
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo.obj\ @<<
    $<
<<

{.moc}.cxx{.obj\}.obj::
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo.obj\ @<<
    $<
<<

不知道该怎么修改?
离线wxj120bw

只看该作者 1楼 发表于: 2010-09-15
其实在另外一台电脑编译这个程序是成功的,但在这台电脑便是总是出错,而这两台电脑的qt软件都是同一个安装程序安装,怎么会有这种问题?
正确的makefile.release文件如下,部分内容。
####### Implicit rules

.SUFFIXES: .cpp .cc .cxx .c

.cpp.o:
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cc.o:
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cxx.o:
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.c.o:
    $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<

####### Build rules

first: all
all: Makefile.Release  $(DESTDIR_TARGET)

$(DESTDIR_TARGET):  $(OBJECTS) .obj/qtdemo_res.o
    $(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.qtdemo.Release  $(LIBS)


.obj/qtdemo_res.o: ..\qtdemo\qtdemo.rc
    windres -i ..\qtdemo\qtdemo.rc -o .obj\qtdemo_res.o --include-dir=./../qtdemo
离线dbzhang800

只看该作者 2楼 发表于: 2010-09-15
你两台机子上的软件环境不一样,前一台机子中估计你装了某个版本的MSVC,而且环境变量没理清。

两个makefile文件都是对的,只不过前者是 nmake 的,后者是 mingw32-make 的
离线wxj120bw

只看该作者 3楼 发表于: 2010-09-17
回 2楼(dbzhang800) 的帖子
分别从命令行和qt-creator两种情况下编译工程,在命令行下先
qmake.exe qtdemo.pro,再mingw32-make,而在qt-creator下,qmake内容是qmake.exe qtdemo.pro -r -spec win32-msvc, make内容是mingw32-make.exe in E:\Qt\2010.04\qt\demos\qtdemo 编译时就提示错误的提示,可见-r -spec win32-msvc 导致那种。但qt-creator新建工程都会加那个参数。不知道怎么去除?
快速回复
限100 字节
 
上一个 下一个