$(OutDir) 未设置为项目输出目录
$(OutDir) is not set to project Output directory
我在Visual Studio 2013中有一个C++/CLI dll项目,我正在尝试更改输出目录。我已将项目属性中的"输出目录"设置设置为$(SolutionDir)Stage$(Configuration)bin$(PlatformArchitecture)
> 常规。我可以看到在 vcxproj 文件中,这反映到 OutDir:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)Stage$(Configuration)bin$(PlatformArchitecture)</OutDir>
</PropertyGroup>
但是,它似乎实际上并未被使用。在链接器>常规>输出文件下,默认值为 $(OutDir)$(TargetName)$(TargetExt)
,但在命令行下看到的$(OutDir)
的扩展值并不反映我所做的更改,而是似乎具有$(SolutionDir)Stage$(ConfigurationName)
的值($(ConfigurationName)
例如"Debug_x64")。这很奇怪,因为它在 vcxproj-文件中不存在...
我需要做什么才能使输出目录中的更改影响$(OutDir)
?我还注意到有一个宏$(OutDirWasSpecified)
,其值为 false...
我相信$(OutDir)
通常在文件中设置:
C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Platformsx64Microsoft.Cpp.x64.default.props
或者,如果在 32 位平台上:
...Win32Microsoft.Cpp.Win32.default.props
通常,您会在项目文件中找到:
我的项目.vcxproj
<Import Project="$(VCTargetsPath)Microsoft.Cpp.Default.props" />
如果您找到Microsoft.Cpp.Default.props
文件,它将具有:
<!-- Allow platforms to define the defaults first -->
<Import Condition="Exists('$(VCTargetsPath)Platforms$(Platform)Microsoft.Cpp.$(Platform).default.props')" Project="$(VCTargetsPath)Platforms$(Platform)Microsoft.Cpp.$(Platform).default.props"/>
这就是$OutDir
被引入的地方。
似乎这个包含链以某种方式被破坏了,或者$(OutDir)
的原始定义在文件Microsoft.Cpp.x64.default.props
中删除/修改了。
就其价值而言,我的Visual Studio 2013配置有点不同。我有一个根文件夹C:Program Files (x86)MSBuildMicrosoft.Cpp
,下面是两个子文件夹,C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V110
和C:Program Files (x86)MSBuildMicrosoft.Cppv4.0V120
。
- Directx11 项目将不显示图形输出
- 通过查找一对项目的代码获取错误的输出,在给定的总和相等的给定列表中列表
- 如何最好地为 Visual Studio 2017 构建的 CMake C++ 项目设置输出目录
- 复制C DLL以构建任何C#项目的输出,以扩展为参考
- 词法分析器项目 - 矢量未正确输出
- 如何获取外部项目定义的目标的输出路径?
- 如何将.EXE从C 项目复制到C#项目的输出目录
- 如何将项目添加到输出文件中
- 调整项目在Visual Studio的输出窗口中构建报告
- 欧拉项目 #14 代码输出未到来
- 将两个VS2010 C++项目构建到同一输出文件夹中
- 有没有办法设置 Eclipse 以使用另一个项目的输出作为库?
- 此项目不会将整数读取为二进制并将其作为二进制输出到新文件
- 无法将外部git-CMake项目的输出(静态库)链接到CMake项目
- 将dll与c++项目中的其他输出文件分离
- 具有多个DLL输出的项目
- Netbeans C/C++项目中的代码相同,但输出不同
- VS2010将项目输出库与依赖库链接(无项目)
- 根据glm::项目输出计算z缓冲区
- $(OutDir) 未设置为项目输出目录