小编Tho*_*man的帖子

为所有项目设置 OutDir 和 IntDir

我正在尝试为解决方案中的所有项目设置一个默认位置OutDirIntDir供其使用。例如:<OutDir>$(SolutionDir)bld\$(Platform)\$(ProjectName)\$(Configuration)\</OutDir>

当我在Directory.Build.props文件中设置此项时,它在 Visual Studio 属性对话框中看起来没问题;但是当我构建时,该$(ProjectName)部分是空的。这告诉我,当在 Directory.Build.props 中读取 OutDir 时,该宏不可用。

我尝试将其添加到Directory.Build.targets文件中,但它似乎完全被忽略了。

另一个目标是在此初始更改后不修改任何 vcxproj 文件。新项目将自动继承这些设置。

这可能吗?也许我将设置放在文件中的错误位置/顺序...?

这是 Directory.Build.props 的片段:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets">
  </ImportGroup>

  <!-- Define macros for easy and consistent access to various parts of the tree -->
  <PropertyGroup Label="UserMacros">
    <GslInclude>$(SolutionDir)packages\Microsoft.Gsl.0.1.2.1\build\native\include</GslInclude>
    <mySrcDir>$(SolutionDir)src\</mySrcDir>
    <myBldDir>$(SolutionDir)bld\</myBldDir>
    <myBldIntDir>$(SolutionDir)bld_int\</myBldIntDir>
  </PropertyGroup>
  <ItemDefinitionGroup />
  <ItemGroup>
    <BuildMacro Include="GslInclude"> <Value>$(GslInclude)</Value> </BuildMacro>
    <BuildMacro Include="mySrcDir"> <Value>$(mySrcDir)</Value> </BuildMacro>
    <BuildMacro Include="myBldDir"> <Value>$(myBldDir)</Value> </BuildMacro>
    <BuildMacro Include="myBldIntDir"> <Value>$(myBldIntDir)</Value> </BuildMacro> …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio project-properties

3
推荐指数
1
解决办法
2572
查看次数

标签 统计

c++ ×1

project-properties ×1

visual-studio ×1