VS2010和VS2012在Microsoft.Cpp.Win32.user中设置VC++目录冲突的解决

    请尊重原创,转载请注明原文地址

    网上常见的置VC目录的方法,例如http://blog.chinaunix.net/uid-21375345-id-2953297.html所提的,如果只用VS2010没有问题,但是在arx开发下,需要用到多个版本的VS就会有问题,因为这个方法修改的是“C:\Users\用户名\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.prop”等文件,这些文件在VS2010和VS2012间是共享的,如果在VS2010中VC目录指向arx2013库路径,则在VS2012中的VC目录也是指向arx2013库路径,如果修改其指向arx2015库路径,否则VS2010的arx就编译失败了,

    相关问题参照:https://social.msdn.microsoft.com/Forums/en-US/4a63bf74-23d1-4f85-aee9-c83cc0f99dad/microsoftcppwin32user-property-sheet-file-shared-by-both-vs2010-and-vs2012?forum=msbuild

解决方法也参照上面文章的最后,通过判断VS的版本决定包含的路径,以“Microsoft.Cpp.Win32.user.prop 为例,内容如下
<?xml version="1.0" encoding="utf-8"?>
<!--PlatformToolsetVersion环境变量表示VS的版本-->
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns=" http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <IncludePath  Condition="$(PlatformToolsetVersion)=='100'">%arx2013_win32_inc%;$(IncludePath)</IncludePath>
    <IncludePath  Condition="$(PlatformToolsetVersion)=='110'">%arx2015_win32_inc%;$(IncludePath)</IncludePath>
  </PropertyGroup>
  <PropertyGroup>
    <ReferencePath  Condition="$(PlatformToolsetVersion)=='100'">%arx2013_win32_inc%;$(ReferencePath)</ReferencePath> 
    <ReferencePath  Condition="$(PlatformToolsetVersion)=='110'">%arx2015_win32_inc%;$(ReferencePath)</ReferencePath>
  </PropertyGroup>
  <PropertyGroup>  
    <LibraryPath   Condition="$(PlatformToolsetVersion)=='100'">%arx2013_win32_lib%;$(LibraryPath)</LibraryPath>
    <LibraryPath   Condition="$(PlatformToolsetVersion)=='110'">%arx2015_win32_lib%;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
</Project>

这样,打开不同的VS时可以发现路径都指向不同的arx路径,目的达到



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值