0
通过Visual Studio工具打开VC工程的属性,可以看到如下:



通过红色部分可以看到头文件的包含路径是:$(VC_IncludePath);$(WindowsSDK_IncludePath); 这里是两个两个变量,还是不知道具体包含了哪些路径。

这两个变量到底包含哪些路径呢?

首先,需要查看一个 “Microsoft.Cpp.Common.props”的文件,此文件在Visual Studio 2017的路径是:C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets。 找到此文件,在文件中查找“VC_IncludePath”,发现“VC_IncludePath”定义如下:

<VC_IncludePath>$(VC_VC_IncludePath);$(VC_ATLMFC_IncludePath);$(VC_VS_IncludePath);$(UniversalCRT_IncludePath);</VC_IncludePath>

在此文件中,找到$(VC_VC_IncludePath);$(VC_ATLMFC_IncludePath);$(VC_VS_IncludePath);$(UniversalCRT_IncludePath);的路径,就找到了“VC_IncludePath”的默认的所有的路径。

我使用VS 2017 找到的路径如下:

-I"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\VS\include"\
 -I"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\atlmfc\include"\
 -I"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\include"\

其次,需要查看另外一个文件“UAP.props”, 我使用的是WIndows 10,文件在路径:C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\10.0.17134.0下。 打开文件“UAP.props”, 查找“WindowsSDK_IncludePath”, 可以找到“WindowsSDK_IncludePath”的定义如下:

 <WindowsSDK_IncludePath>$(UM_IncludePath);$(KIT_SHARED_IncludePath);$(WinRT_IncludePath);$(CppWinRT_IncludePath);$(DotNetSdk_IncludePath)</WindowsSDK_IncludePath>

再在本文件中,找到其中每个变量所对应的路径,我找到的路径如下:

 -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um"\
 -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared"\
 -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\winrt"\
 -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\cppwinrt"\

至此,已经找到VC项目在系统中的默认的查找头文件的路径。如果需要将项目转成Makefile,可以通过这个将系统的头文件路径添加到变量INCLUDES中或者环境变量里,这样通过make命令执行编译时,就不会出现找不到系统头文件的错误的情况。
————————————————
版权声明:本文为CSDN博主「jimmyleeee」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jimmyleeee/article/details/83269945
关闭 返回顶部
联系我们
Copyright © 2011. 聚财吧. All rights reserved.