标签:findstr 查看 vs 查找 搜索 何处 WindowsSdkDir
WindowsSdkDir 从何处来?
原排错调试vssdk缘起
在《修复被破坏的 vs 工程设置》和《修复被破坏的 vs 工程设置(续)》这两篇文章中,分享了调查 VS
包含路径错误的问题,感兴趣的小伙伴儿可以查看。依稀记得在 2013
年的时候调查过类似的问题。前一阵子没翻到,这两天在翻笔记的时候居然意外的找到了。特整理分享给大家。
依稀记得是编译的时候有问题才调查的。
查看 WindowsSdkDir
$(WindowsSdkDir)$
可通过工程中的宏来查看。先查看宏,
![view-all-macros view-all-macros](./images/view-all-macros.png)
view-all-macros
找到 WindowsSdkDir
,查看。
![watch-windowssdk watch-windowssdk](./images/view-windowssdk.png)
watch-windowssdk
小贴士:可以在上方的搜索框输入关键字进行过滤。
WindowsSdkDir 从何处来
从上图,我们可以看到 $(WindowsSdkDir)$
的值。但是这个值是从哪里来的呢?
可以通过各种文件内容搜索工具来搜索,或者更省事的办法是用 win7
自带的 findstr
命令来搜索。
猜测这个值必然和 vs
有关,所有搜索范围限定为 vs
的安装目录。具体搜索命令如下:
![search-using-findstr search-using-findstr](./images/search-using-findstr.png)
search-using-findstr
等待搜索结束,就可以到 d:\result.log
里查看搜索结果了。内容如下:
![search-result search-result](./images/search-result.png)
search-result
用红框选出来的两个地方比较靠谱,属于 vcvars*.bat
,这个应该是设置一些环境变量的。查看对应的 vcvars*.bat
,如下:
![view-vcvars view-vcvars](./images/view-vcvars.png)
view-vcvars
从上图可知,会先到注册表中查找,如果没有找到再使用预先指定的值。在注册表中查找的时候,会先到 HKLM
下查找,如果没找到,再到 HKCU
下查找。
HKLM
下的值如下图:
![value_under_hklm value_under_hklm](./images/value_under_hklm.png)
value_under_hklm
HKCU
的值如下图:
![value_under_hkcu value_under_hkcu](./images/value_under_hkcu.png)
value_under_hkcu
使用 procmon 观察加载过程
话不多说,直接看图:
![watch-using-procmon watch-using-procmon](./images/watch-using-procmon.png)
watch-using-procmon
总结
- 这个调查有年头儿了,没想到还能找到当时的笔记。真的是 好记性不如烂笔头!
- 如果没有三方搜索工具(比如,
FileLocator
),可以试试系统自带的findstr
。
标签:findstr,查看,vs,查找,搜索,何处,WindowsSdkDir 来源: https://www.cnblogs.com/bianchengnan/p/13569409.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。