如何让 windows 上的 qmake 生成 Makefile? (nmake 和 mingw-make)
How to make Makefile generated by qmake on windows? (nmake and mingw-make)
OS: Windows 10, x64
我有一个qt控制台项目的简单演示,它只是打印hello world。
这个项目可以构建并且 运行 正确(使用 MSVC 工具包),但我想分开这个过程。
首先,我在Qt Creator中的项目上点击右键菜单中的"execute qmake",在release和debug目录下得到了一个make文件
build-hello-Desktop_Qt_5_12_3_MSVC2017_64bit-Release\makefile
打开cmd,cd到这个目录,然后故事就结束了。
如果我使用 nmake,我得到错误 C1083,它告诉我 找不到 stdio.h
如果我在 windows 或 mingw-make32 上使用 make,我仍然会收到错误 missing separator.
我有两个问题:
1.Can 有人给出了如何使用 mingw-make32 和 nmake 制作这个 makefile 的完整说明?
2.The qmake 生成的makefile 看起来非常复杂而且难以辨认,不像教程中的那些makefile。它只是和普通的makefile一样,还是有特殊之处?
我搜索了很多还是没有得到明确的解决方案,请帮忙。
Makefile 如下所示:
#############################################################################
# Makefile for building: hello
# Generated by qmake (3.1) (Qt 5.12.3)
# Project: ..\name\hello.pro
# Template: app
# Command: C:\Qt\Qt5.12.3.12.3\msvc2017_64\bin\qmake.exe -o Makefile ..\name\hello.pro -spec win32-msvc "CONFIG+=qtquickcompiler"
#############################################################################
MAKEFILE = Makefile
EQ = =
first: release
install: release-install
uninstall: release-uninstall
QMAKE = C:\Qt\Qt5.12.3.12.3\msvc2017_64\bin\qmake.exe
DEL_FILE = del
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
COPY = copy /y
COPY_FILE = copy /y
COPY_DIR = xcopy /s /q /y /i
INSTALL_FILE = copy /y
INSTALL_PROGRAM = copy /y
INSTALL_DIR = xcopy /s /q /y /i
QINSTALL = C:\Qt\Qt5.12.3.12.3\msvc2017_64\bin\qmake.exe -install qinstall
QINSTALL_PROGRAM = C:\Qt\Qt5.12.3.12.3\msvc2017_64\bin\qmake.exe -install qinstall -exe
DEL_FILE = del
SYMLINK = $(QMAKE) -install ln -f -s
DEL_DIR = rmdir
MOVE = move
SUBTARGETS = \
release \
debug
如何使用 nmake 制作此 makefile 的完整说明
运行 visual studio command prompt 然后在里面运行 nmake 而不是common cmd中的运行 nmake,因为vs command prompt已经设置了具体的环境变量比如include和c++标准库的路径,其中cl.exe和link.exe是不行的。
这就是找不到stdio.h的原因。
OS: Windows 10, x64
我有一个qt控制台项目的简单演示,它只是打印hello world。 这个项目可以构建并且 运行 正确(使用 MSVC 工具包),但我想分开这个过程。
首先,我在Qt Creator中的项目上点击右键菜单中的"execute qmake",在release和debug目录下得到了一个make文件
build-hello-Desktop_Qt_5_12_3_MSVC2017_64bit-Release\makefile
打开cmd,cd到这个目录,然后故事就结束了。 如果我使用 nmake,我得到错误 C1083,它告诉我 找不到 stdio.h 如果我在 windows 或 mingw-make32 上使用 make,我仍然会收到错误 missing separator.
我有两个问题:
1.Can 有人给出了如何使用 mingw-make32 和 nmake 制作这个 makefile 的完整说明?
2.The qmake 生成的makefile 看起来非常复杂而且难以辨认,不像教程中的那些makefile。它只是和普通的makefile一样,还是有特殊之处?
我搜索了很多还是没有得到明确的解决方案,请帮忙。
Makefile 如下所示:
#############################################################################
# Makefile for building: hello
# Generated by qmake (3.1) (Qt 5.12.3)
# Project: ..\name\hello.pro
# Template: app
# Command: C:\Qt\Qt5.12.3.12.3\msvc2017_64\bin\qmake.exe -o Makefile ..\name\hello.pro -spec win32-msvc "CONFIG+=qtquickcompiler"
#############################################################################
MAKEFILE = Makefile
EQ = =
first: release
install: release-install
uninstall: release-uninstall
QMAKE = C:\Qt\Qt5.12.3.12.3\msvc2017_64\bin\qmake.exe
DEL_FILE = del
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
COPY = copy /y
COPY_FILE = copy /y
COPY_DIR = xcopy /s /q /y /i
INSTALL_FILE = copy /y
INSTALL_PROGRAM = copy /y
INSTALL_DIR = xcopy /s /q /y /i
QINSTALL = C:\Qt\Qt5.12.3.12.3\msvc2017_64\bin\qmake.exe -install qinstall
QINSTALL_PROGRAM = C:\Qt\Qt5.12.3.12.3\msvc2017_64\bin\qmake.exe -install qinstall -exe
DEL_FILE = del
SYMLINK = $(QMAKE) -install ln -f -s
DEL_DIR = rmdir
MOVE = move
SUBTARGETS = \
release \
debug
如何使用 nmake 制作此 makefile 的完整说明
运行 visual studio command prompt 然后在里面运行 nmake 而不是common cmd中的运行 nmake,因为vs command prompt已经设置了具体的环境变量比如include和c++标准库的路径,其中cl.exe和link.exe是不行的。
这就是找不到stdio.h的原因。