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
相关文章
|
数据库 C++
VS 错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容 ”问题
VS 错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容 ”问题
1543 0
VS 错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容 ”问题
|
9月前
|
缓存 前端开发 JavaScript
Vue3 写法示例与规范指南
Vue3项目规范指南:统一目录结构、命名规则与Composition API用法,涵盖组件通信、性能优化及ESLint+Prettier工具链配置,提升代码可维护性与团队协作效率。(239字)
1262 1
|
Unix 网络安全 数据安全/隐私保护
putty Faual Error:No supported authentication methods available (server sent: publickey)
putty Faual Error:No supported authentication methods available (server sent: publickey)
3847 0
|
XML JavaScript 前端开发
如何解析一个 HTML 文本
【10月更文挑战第23天】在实际应用中,根据具体的需求和场景,我们可以灵活选择解析方法,并结合其他相关技术来实现高效、准确的 HTML 解析。随着网页技术的不断发展,解析 HTML 文本的方法也在不断更新和完善,
|
算法 关系型数据库 测试技术
WHQL微软驱动签名方案,让驱动程序在Windows系统流畅运行
WHQL认证(Windows徽标认证)是微软设立的严格测试标准,旨在确保驱动程序的兼容性、稳定性和互通性。本文介绍了三种WHQL微软驱动签名方案:单系统签名、多系统签名和硬件兼容性测试方案,分别满足不同开发商的需求。通过WHQL认证,不仅能消除Windows安装警告,提升用户体验,还能获得“Designed for Windows”徽标授权,入列全球Windows Catalog及HCL产品表,提升品牌权威性和采购优先权。此外,访问微软OCA可获取错误反馈,助力产品质量改进。选择合适的签名方案,让驱动在Windows系统中流畅运行!
|
数据可视化 安全 数据挖掘
streamlit (python构建web)之环境搭建
在微信订阅号中发现了一篇关于Streamlit的文章,激发了我的兴趣。Streamlit是一款专为数据科学家设计的开源Python库,能迅速将数据分析脚本转变为功能完备的Web应用。它简化了开发流程,支持轻松添加交互组件及动态展示图表、图像等,非常适合开发安全扫描工具。Streamlit基于Jupyter Notebook原理,通过Python脚本创建可视化和交互式的Web应用,易于部署分享。安装方法多样,可通过`pip install streamlit`快速安装,或通过Anaconda环境管理依赖。启动示例应用只需运行简单命令,即可体验自带的动画、绘图和数据展示等功能。
2103 1
streamlit (python构建web)之环境搭建
|
开发工具 git iOS开发
服务器配置Huggingface并git clone模型和文件
该博客提供了在服务器上配置Huggingface、安装必要的工具(如git-lfs和huggingface_hub库)、登录Huggingface以及使用git clone命令克隆模型和文件的详细步骤。
3075 1
|
安全 算法 网络协议
HTTPS:如何确保您的网站数据传输安全?
HTTPS:如何确保您的网站数据传输安全?
8166 2
|
安全 编译器 Go
什么是 CGO?什么时候会用到它?
【8月更文挑战第31天】
2459 0
|
编译器 C语言 C++
C语言printf的输出格式大全及颜色字体打印
C语言printf的输出格式大全及颜色字体打印
1607 0