我有几个使用不同QT版本的项目。默认情况下,VS的Qt扩展使用$(DefaultQtVersion)宏,该值在HKEY_CURRENT_USER / Software / Digia / Versions中指定。所以,如果我使用VS的几个实例,我只能使用一个QT版本来处理其中的所有解决方案。此外,在解决方案之间切换后,我不应该忘记切换QT版本,因为使用另一个QT版本构建意味着重建。
我找到了为每个项目指定不同Qt版本的方法。 可以在.vcxproj中更改版本
<ProjectExtensions>
<VisualStudio>
<UserProperties Qt5Version_x0020_Win32="$(DefaultQtVersion)" Qt5Version_x0020_x64="Qt_5.4.1_x64"/>
</VisualStudio>
</ProjectExtensions>
因此,我决定使用带有QTADDIN属性的.props文件,在每次更改QT版本时,在一个地方更改版本而不是更改每个项目。
<PropertyGroup Label="UserMacros">
<QTVERSION>5.4.1</QTVERSION>
<QTADDIN32>Qt_$(QTVERSION)_x32</QTADDIN32>
<QTADDIN64>Qt_$(QTVERSION)_x64</QTADDIN64>
</PropertyGroup>
并在项目文件中:
<ProjectExtensions>
<VisualStudio>
<UserProperties Qt5Version_x0020_Win32="$(QTADDIN32)" Qt5Version_x0020_x64="$(QTADDIN64)"/>
</VisualStudio>
</ProjectExtensions>
另外,我在qt-addin中添加了适当的QT版本,但它不起作用。 &#34;没有Qt版本支持这个项目的平台......&#34;消息一直显示。
似乎,属性在ProjectExtensions标记内不起作用。
是否有可能以这种灵活的方式更改QT版本?