visual-studio-2013 - Visual Studio 2013 和 Qt5 : QTDIR set too late

标签 visual-studio-2013 path qt5.4 project-properties

MSVC2013 中的 Qt 一切正常,除了一件事:当设置本地调试环境时,找不到 DLL,因为 $(QTDIR) 未定义。

我的调试环境设置:

PATH=$(QTDIR)\bin%3b$(PATH)

我的.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>

我不知道为什么,但 $(QTDIR) 变量不可用于 LocalDebuggerEnvironment。

它适用于以下调试环境设置:

PATH=C:\Qt\Qt5.4.1\5.4\msvc2013\bin%3b$(PATH)

是否可以让 Visual Studio 正确处理这个问题,还是我必须手动输入路径?

最佳答案

Visual Studio 似乎从上到下解析这些行,因此您的代码...

<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
<QTDIR>C:\Qt\Qt5.4.1\5.4\msvc2013</QTDIR>

...变量$(QTDIR)在第二行定义,不能在第一行使用。

只需切换顺序,以便在使用变量之前定义变量:

<QTDIR>C:\Qt\Qt5.4.1\5.4\msvc2013</QTDIR>
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>

注意:Visual Studio 仅在启动时读取 .user 文件,因此您需要在编辑文件后(重新)启动 Visual Studio。

关于visual-studio-2013 - Visual Studio 2013 和 Qt5 : QTDIR set too late,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28702916/

相关文章:

java - 如何从任何目录引用文件

qt - 以编程方式查找最新 Qt 版本号的最简单方法是什么?

c++ - 在linux中配置:file not found while static linking Qt 5. 4项目

c++ - WINAPI 光标在应用程序窗口上的单击位置

c# - Nuget 上的 System.Reactive/Rx .NET 4.0

c# - 如何在用户未处理异常类型时打开中断?

visual-studio-2013 - 无法在 Visual Studio 2013 中编辑代码

c++ - 如何在cout语句中显示相对文件路径

node.js - Windows 7 上的 Node 故障

.net - 如何在不写程序集名称的情况下设置 WPF 图像源?