1

我的环境:

QT: Qt_5_0_2
QWT: qwt-6.1-rc3
MinGW: mingw47_32
OS: win7_32

我按照介绍文件“INSTALL”的步骤:

C) Win32/MinGW 
Check that your Qt version has been built with MinGW - not with MSVC !

Start a Shell, where Qt4 is initialized. ( F.e. with
"Programs->Qt by Trolltech ...->Qt 4.x.x Command Prompt" ).
Check if you can execute "make" or something like "mingw32-make".

qmake qwt.pro
make
make install

我在“make”步骤中得到错误:

C:\qwt-6.1-rc3>qmake qwt.pro

C:\qwt-6.1-rc3>mingw32-make
cd src\ && ( if not exist Makefile E:\Qt\5.0.2\5.0.2\mingw47_32\bin\qmake.exe C:
\qwt-6.1-rc3\src\src.pro -o Makefile ) && mingw32-make -f Makefile
mingw32-make[1]: Entering directory 'C:/qwt-6.1-rc3/src'
mingw32-make -f Makefile.Release all
mingw32-make[2]: Entering directory 'C:/qwt-6.1-rc3/src'
Makefile.Release:305: *** missing separator.  Stop.
mingw32-make[2]: Leaving directory 'C:/qwt-6.1-rc3/src'
Makefile:40: recipe for target 'release-all' failed
mingw32-make[1]: *** [release-all] Error 2
mingw32-make[1]: Leaving directory 'C:/qwt-6.1-rc3/src'
makefile:44: recipe for target 'sub-src-make_first-ordered' failed
mingw32-make: *** [sub-src-make_first-ordered] Error 2

“Makefile.Release”中的第304,305行是:

304 qmake:  FORCE
305     @$(QMAKE) -o Makefile.Release src.pro

哪里错了?

谢谢

4

3 回答 3

3
Makefile.Release:305: *** missing separator.  Stop.

这通常意味着这Makefile不是 ; 的正确格式mingw32-make

由于Makefile是由 生成的,因此您qmake应该检查. 应该是,不是。QMAKESPECqmakewin32-g++win32-mvsc

qwt 此问题与安装说明的第一个警告密切相关:

检查您的 Qt 版本是否是使用 MinGW 构建的,而不是使用 MSVC 构建的!

于 2013-05-15T14:53:12.420 回答
1

猜猜你损坏的 Makefile 是一些早期尝试遗留下来的 - 完全删除 Qwt 构建目录并从头开始。

要在 Qt 创建器中加载 Qwt 设计器插件,您需要一个与创建器的构建方式兼容的版本。AFAIR 5.0.2 mingw 包包含一个 2.7.0 版本的创建者,它是使用 MSVC 为 Qt 4.8 构建的(请参阅 About->Qt creator )。如果为 true,则意味着您需要 2 个不同的 Qwt 版本 - 一个用于您的应用程序,另一个用于设计器插件。

对于未来,我计划提供与 Qt 创建者的当前二进制包兼容的设计器插件的预编译版本。

另请注意,在 SVN 主干中,自 rc3 以来,构建插件的默认设置已更改:在 Windows 上,库静态链接到插件中,而在更好的系统上,在库的安装路径中编译也有类似的效果(请参阅 RPATH )。

于 2013-05-15T18:53:40.883 回答
0

我有同样的问题。原因是我想第二次准备资源。我在 svn floder 中有资源。我解决了擦除文件夹并再次更新源的问题。完成此操作后,我能够正确运行“qmake proj.pro”。

于 2014-05-23T09:06:54.670 回答