1

我喜欢使用 Qt Creator 进行大多数开发,并且构建是由 qmake 和 jom 驱动的。我偶尔想使用 Visual Studio 进行调试。我想知道.pro在每次.pro文件更改时,在项目构建期间自动生成 Visual Studio 项目文件的文件中放入什么魔法。

4

1 回答 1

3

您可以设置您的 qmake 项目,以便它在每次构建时自动生成一个 Visual Studio 项目文件。

下面假设.pro文件的基本名称与TARGET. 说,如果你有TARGET = myapp,你必须把它放进去myapp.pro。只需将以下几行添加到您的 .pro 文件中。

有一个副作用:对.pro文件的每次更改都会强制重新链接可执行文件。

无论您的目标 mkspec 是什么,下面的脚本都支持生成您的 Visual Studio 项目。因此,无论您是在 Windows 还是 Unix 上构建,无论您是在 Windows 上为 Visual Studio 构建,还是使用其他一些编译器,都可以生成它

win32-msvc* {
    # Works when you build for Visual Studio already
    vsproj.spec = $$basename(QMAKESPEC)
} else {
    # Works when you're not building for Visual Studio (say, using mingw)
    # The configuration you want to build the VS project for (win32-msvc[2005|2008|2010|2012])
    vsproj.spec = win32-msvc2008
}
# Sets the project file name appropriately to selected Visual Studio version.
contains(vsproj.spec, win32-msvc201): vsproj.target = $${TARGET}.vcxproj
else: vsproj.target = $${TARGET}.vcproj
# The qmake command to make the Visual Studio project file
vsproj.commands = qmake -tp vc $${_PRO_FILE_} -spec $${vsproj.spec}
# The VS project depends on the .pro file
vsproj.depends = $${_PRO_FILE_}
# Set the above as a target in the makefile.
QMAKE_EXTRA_TARGETS += vsproj
# Make the main target (the executable/library) depend on it,
# so that it gets built.
PRE_TARGETDEPS += $${vsproj.target}
于 2013-09-25T19:36:14.297 回答