Makefile Make:隐式规则定义中缺少分隔符

Makefile Make:隐式规则定义中缺少分隔符,makefile,mingw,qscintilla,Makefile,Mingw,Qscintilla,我安装在Windows7上,它需要库。我试图使用qmake和MinGW的make构建该库,但出现了一个make错误: make -f Makefile.Release make[1]: Entering directory `/d/Install/QScintilla-gpl-2.7.2/Qt4Qt5' Makefile.Release:481: *** missing separator. Stop. make[1]: Leaving directory `/d/Install/QScint

我安装在Windows7上,它需要库。我试图使用qmake和MinGW的make构建该库,但出现了一个make错误:

make -f Makefile.Release
make[1]: Entering directory `/d/Install/QScintilla-gpl-2.7.2/Qt4Qt5'
Makefile.Release:481: *** missing separator.  Stop.
make[1]: Leaving directory `/d/Install/QScintilla-gpl-2.7.2/Qt4Qt5'
make: *** [release] Error 2
生成文件内容:

####### Implicit rules

.SUFFIXES: .c .cpp .cc .cxx

{..\lexlib}.cpp{release\}.obj:: ## line 481
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -Forelease\ @<<
    $<
<<

这不是GNU make make文件,因此使用MinGW make是不合适的。这就是为什么你会犯这样的错误。我对qmake一无所知,所以我不能说这是否使用了qmake语法。qscintula文档没有指定您应该使用什么构建系统吗?@madcasciient qmake是一个从*.pro(qt项目)文件生成makefile的工具,它从qscintula.pro文件生成makefile、makefile.Release和makefile.Debug文件。QSCINTILA文档说“根据您使用的编译器,您可能需要运行nmake而不是make。”我想我使用的是g++,我不知道是否还有其他编译器。我不知道该告诉您什么,但该语法不是标准make语法,也不是GNU make认可的语法。您必须找出qmake希望您在Windows上生成的“makefile”中使用的工具,并使用该工具。在快速查看qmake文档之后,您还可以尝试使用qmake的
-unix
选项来要求它生成一个unix风格的makefile,然后使用MinGW-make(GNU-make)来生成它。-unix选项对我没有帮助,但我发现PyQt已经有了qscintula,所以实现了最初的目标。
make[1]: *** [{..\lexlib}.cpp{release\}.obj] Error 2
make[1]: Leaving directory `/d/Install/QScintilla-gpl-2.7.2/Qt4Qt5'
make: *** [release] Error 2