用一个命令
qmake -tp vc -r
我正在从相应的 Qt文件和一堆文件生成 Visual Studio.sln
文件和一堆文件。.vcxproj
.pro
.pri
我希望那些生成.vcxproj
的文件导入我自己的.props
文件。我可以提供qmake
或嵌入这些.pro
/.pri
文件的路径。
是否可以?如果是,那怎么办?
因为根据我的研究,这似乎只能通过添加一个自定义扩展(我必须先写......)来完成mkspecs
......
用一个命令
qmake -tp vc -r
我正在从相应的 Qt文件和一堆文件生成 Visual Studio.sln
文件和一堆文件。.vcxproj
.pro
.pri
我希望那些生成.vcxproj
的文件导入我自己的.props
文件。我可以提供qmake
或嵌入这些.pro
/.pri
文件的路径。
是否可以?如果是,那怎么办?
因为根据我的研究,这似乎只能通过添加一个自定义扩展(我必须先写......)来完成mkspecs
......
从 qmake 源码来看,是不可能的。我已经查看qmake\generators\win32\msbuild_objectmodel.cpp
了 Qt4.8.5 和最新的 Qt5 版本,qmake 添加的唯一属性表是Microsoft.Cpp.*.props
(各种):
xml << tag("Import")
<< attrTag("Project", "$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props")
<< attrTag("Condition", "exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')")
<< closetag()
<< closetag();
我通过创建一个快速 Python 脚本解决了这个问题,该脚本对生成的 *.vcxproj 文件进行后处理:
for l in fileinput.FileInput('Project.vcxproj', inplace=1):
print l,
if 'PropertySheets' in l:
print ' <Import Project="YourPropertySheets.props" />'
当然,最好用新功能修补 qmake,但由于只有包括你和我在内的三个人对此感到困扰,所以我认为 hack 是最佳解决方案。