zoukankan      html  css  js  c++  java
  • WindowsSdkDir 从何处来?

    WindowsSdkDir 从何处来?

    缘起

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

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

    查看 WindowsSdkDir

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

    view-all-macros
    view-all-macros

    找到 WindowsSdkDir,查看。

    watch-windowssdk
    watch-windowssdk

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

    WindowsSdkDir 从何处来

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

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

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

    search-using-findstr
    search-using-findstr

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

    search-result
    search-result

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

    view-vcvars
    view-vcvars

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

    HKLM 下的值如下图:

    value_under_hklm
    value_under_hklm

    HKCU 的值如下图:

    value_under_hkcu
    value_under_hkcu

    使用 procmon 观察加载过程

    话不多说,直接看图:

    watch-using-procmon
    watch-using-procmon

    总结

    • 这个调查有年头儿了,没想到还能找到当时的笔记。真的是 好记性不如烂笔头!
    • 如果没有三方搜索工具(比如,FileLocator),可以试试系统自带的 findstr
  • 相关阅读:
    playbook的复用
    playbook 任务标签
    playbook handlers 触发器
    playbook循环语句
    playbook条件语句
    Ansible变量
    每日总结4.13
    每日总结4.12
    每日总结4.9
    每日总结4.8
  • 原文地址:https://www.cnblogs.com/bianchengnan/p/13569409.html
Copyright © 2011-2022 走看看