WindowsSdkDir 从何处来?

简介: WindowsSdkDir 从何处来?

缘起

在《修复被破坏的 vs 工程设置》和《修复被破坏的 vs 工程设置(续)》这两篇文章中,分享了调查 VS 包含路径错误的问题,感兴趣的小伙伴儿可以查看。依稀记得在 2013 年的时候调查过类似的问题。前一阵子没翻到,这两天在翻笔记的时候居然意外的找到了。特整理分享给大家。

依稀记得是编译的时候有问题才调查的。

查看 WindowsSdkDir

$(WindowsSdkDir)$ 可通过工程中的宏来查看。先查看宏,

view-all-macros.png

找到 WindowsSdkDir,查看。

view-windowssdk.png

小贴士:可以在上方的搜索框输入关键字进行过滤。

WindowsSdkDir 从何处来

从上图,我们可以看到 $(WindowsSdkDir)$ 的值。但是这个值是从哪里来的呢?

可以通过各种文件内容搜索工具来搜索,或者更省事的办法是用 win7 自带的 findstr 命令来搜索。

猜测这个值必然和 vs 有关,所有搜索范围限定为 vs 的安装目录。具体搜索命令如下:

search-using-findstr.png

等待搜索结束,就可以到 d:\result.log 里查看搜索结果了。内容如下:

search-result.png

用红框选出来的两个地方比较靠谱,属于 vcvars*.bat,这个应该是设置一些环境变量的。查看对应的 vcvars*.bat,如下:

view-vcvars.png

从上图可知,会先到注册表中查找,如果没有找到再使用预先指定的值。在注册表中查找的时候,会先到 HKLM 下查找,如果没找到,再到 HKCU 下查找。

HKLM 下的值如下图:

value_under_hklm.png

HKCU 的值如下图:

value_under_hkcu.png

使用 procmon 观察加载过程

话不多说,直接看图:

watch-using-procmon.png

总结

  • 这个调查有年头儿了,没想到还能找到当时的笔记。真的是 好记性不如烂笔头!
  • 如果没有三方搜索工具(比如,FileLocator),可以试试系统自带的 findstr
相关文章
|
6天前
|
缓存 网络协议 安全
计算机网络 TCP、RPC、GRPC、HTTP 对比
【1月更文挑战第1天】计算机网络 TCP、RPC、GRPC、HTTP 对比
|
6月前
|
Java Maven
Maven常用镜像配置
Maven常用镜像配置
1167 0
|
8月前
|
搜索推荐 安全 数据挖掘
产品运营方法论:从目标拆解到策略重构
本文从产品运营的定义到作者对产品运营的理解以及一些工作中用到的方法论做了总结。
210831 33
|
8月前
|
编解码 监控 数据可视化
数据可视化(二)
数据可视化(二)
387 0
|
9月前
|
存储 关系型数据库 MySQL
|
10月前
|
监控 安全 网络安全
本地安全策略(NETBASE第十课)
本地安全策略(NETBASE第十课)
207 0
|
SQL 敏捷开发 Java
Springboot 整合tk-mybatis , 妈妈,我再也不想敲CRUD的代码了!
Springboot 整合tk-mybatis , 妈妈,我再也不想敲CRUD的代码了!
858 0
Springboot 整合tk-mybatis , 妈妈,我再也不想敲CRUD的代码了!
|
数据采集 弹性计算 供应链
阿里云服务器付费模式有哪几种?怎么选择?
阿里云服务器付费模式有哪几种?怎么选择?阿里云服务器ECS付费类型包年包月、按量付费和抢占式实例有什么区别?包年包月先付费后使用,最低购买一个月时长,平均下来价格优惠;按量付费先使用后付费,按小时结算费用,适合短期使用,平均下来费用要比包年包月贵一些;抢占式实例和按量付费相类似,只是价格上要比按量的优惠90%,但是抢占式实例可能会被系统释放,抢占式实例适合无状态的应用。阿里云百科来详细说下阿里云服务器付费模式包年包月、按量付费和抢占式实例区别以及选择方法:
527 0
|
消息中间件 开发框架 分布式计算
中间件常见漏洞之Jetty
中间件常见漏洞之Jetty
1822 0
|
存储 缓存 Java
Sonar扫描之SonarScanner介绍
Sonar扫描之SonarScanner介绍
1021 0