6 path project-properties visual-studio-2013 qt5.4
一切都适用于MSVC2013中的Qt,除了一件事:找不到DLL,因为在设置了本地调试环境时没有定义$(QTDIR).
我的调试环境设置:
PATH=$(QTDIR)\bin%3b$(PATH)
Run Code Online (Sandbox Code Playgroud)
我的.user文件:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
<QTDIR>C:\Qt\Qt5.4.1\5.4\msvc2013</QTDIR>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerEnvironment>PATH="$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
<QTDIR>C:\Qt\Qt5.4.1\5.4\msvc2013</QTDIR>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerEnvironment>PATH="$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但$(QTDIR)变量不适用于LocalDebuggerEnvironment.
它适用于以下调试环境设置:
PATH=C:\Qt\Qt5.4.1\5.4\msvc2013\bin%3b$(PATH)
Run Code Online (Sandbox Code Playgroud)
是否可以使Visual Studio正确处理此问题,还是必须手动输入路径?
Visual Studio似乎从上到下解析了这些行,所以使用你的代码......
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
<QTDIR>C:\Qt\Qt5.4.1\5.4\msvc2013</QTDIR>
Run Code Online (Sandbox Code Playgroud)
...变量$(QTDIR)在第二行中定义,不能在第一行中使用.
只需切换顺序,以便在使用变量之前定义变量:
<QTDIR>C:\Qt\Qt5.4.1\5.4\msvc2013</QTDIR>
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
Run Code Online (Sandbox Code Playgroud)
注意:Visual Studio仅在启动时读取.user文件,因此您需要在编辑文件后(重新)启动Visual Studio.