Visual Studio使用很多宏来设置项目属性,这些宏列在此处。我无法找到这些宏或标识符在实际脚本文件中(而不是在项目设置中)的定义位置。
在我的情况下,我试图将项目的输出文件夹更改为解决方案的调试或发布文件夹(向上一级),但是在项目设置中更改“输出目录”没有任何效果。
.vcxproj文件中也没有提到这些宏,所以我真的不知道它们在哪里定义?我最感兴趣的是$(OutDir)
,我希望将其更改为解决方案的调试/发布文件夹。有人知道它们在哪里定义吗?
Visual Studio使用很多宏来设置项目属性,这些宏列在此处。我无法找到这些宏或标识符在实际脚本文件中(而不是在项目设置中)的定义位置。
在我的情况下,我试图将项目的输出文件夹更改为解决方案的调试或发布文件夹(向上一级),但是在项目设置中更改“输出目录”没有任何效果。
.vcxproj文件中也没有提到这些宏,所以我真的不知道它们在哪里定义?我最感兴趣的是$(OutDir)
,我希望将其更改为解决方案的调试/发布文件夹。有人知道它们在哪里定义吗?
要将导入库生成的位置移动到其他地方,请按照以下步骤操作:
不要问我如何摆脱导出列表文件(.exp),因为我真的不知道。
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
如果您跟随路径变量的链,最终会找到包含Microsoft.Cpp.targets
的文件夹,其中本身会包含:
<Import Project="Microsoft.Common.targets" />
<PropertyGroup>
<TargetDir Condition="'$(OutDir)' != ''">$([MSBuild]::Escape($([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `$(OutDir)`))`))))</TargetDir>
<TargetPath Condition=" '$(TargetPath)' == '' ">$(TargetDir)$(TargetFileName)</TargetPath>
<ProjectDir Condition=" '$(ProjectDir)' == '' ">$(MSBuildProjectDirectory)\</ProjectDir>
<ProjectPath Condition=" '$(ProjectPath)' == '' ">$(ProjectDir)$(ProjectFileName)</ProjectPath>
.
.
.
</PropertyGroup>
让我分享一下自从提出这个问题以来我所发现的。这些宏/属性是VS2010的默认设置,但你可以通过在记事本中编辑.vcproj文件来自己设置它们。注意:首先在.vcproj文件中搜索属性,如果存在,则将其值更改为所需值,如果不存在,则像下面一样定义它。我认为这是通过在.vcproj文件中添加/编辑这些定义来覆盖它们。
<PropertyGroup Label="My Values">
<ProjectName>New_Project_Name</ProjectName>
</PropertyGroup>
我已经定义了自己的组 "My Values" 来保存这些值,但您可以在任何地方定义它们。我更喜欢尽可能高地在文件中定义它们,以便脚本的其余部分能够考虑到它们。