您的位置:首页 > 编程语言 > C语言/C++

VS中VC++目录中的$是什么意思

2016-06-13 15:43 423 查看
$(VC_ExecutablePath_x64);  //项目是x64平台

$(WindowsSDK_ExecutablePath);

$(VS_ExecutablePath);

$(MSBuild_ExecutablePath);

$(VC_IncludePath);

$(VCInstallDir)UnitTest\include;

etc.

$是宏替换符号,后面的字符都宏(Micro)
随便对项目属性->VC++下的某一个目录进行编辑,都会在右下角看到一个“宏”,点开之后就可以看到了。某一些是从环境变量中继承的,比如PROCESSOR_IDENTIFIER:Intel64 Family 6 Model 58 Stepping 9, GenuineIntel和CUDA_PATH。

原回答:https://social.msdn.microsoft.com/Forums/en-US/11b7b72d-d093-41c4-9310-3dd944d5e3e8/vc-directories?forum=vcgeneral

既然说到这了,那就把VC++的这些个目录和宏再理解一下:

1.可执行文件目录:生成VC++项目期间,搜索可执行文件时使用的路径

  1.1 $(VC_ExecutablePath_x64):D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin,这里包含了VS的编译器cl.exe、链接器lk.exe和相应的dll。

  1.2 $(WindowsSDK_ExecutablePath): c:\Program Files (x86)\Windows Kits\8.1\bin\x64\ ,这里包含了Windows Driver Kit(WDK)

  1.3 $(PATH):这个是环境变量->系统变量->PATH一致。包含了c:\Windows\System32,D:\opencv\build\x86\vc12\bin,D:\opencv\build\x64\vc12\bin等,这里存放的也是一些DLL文件。将工程Build后,Exe文件会动态加载其中的dll。这里面有个问题就是如果这些Path中有重复的文件怎么办,加载哪一个?

2.包含目录:生成VC++项目期间,搜索包含文件时使用的路径

  2.1 $(VC_IncludePath):包含了VC的一些.h文件,比如stdio.h和sstream等。

  2.2 $(WindowsSDK_IncludePath):WDK的一些头文件

  2.3 其他:比如我们添加的OpenCV的一些头文件路径D:\opencv\build\include\opencv\

3.库目录:生成VC++项目期间,搜索库文件时使用的路径

  3.1 $(VC_LibraryPath_x64):包含了VC的一些.lib文件

  3.2 $(WindowsSDK_LibraryPath_x64):包含了WDK的一些lib文件

  3.3 其他:我们添加的OpenCV的一些Lib路径,比如d:\opencv\build\lib\Debug;D:\opencv\build\install\x64\vc12\lib

  注意,库目录只是指明了lib的路径,具体用哪一个lib,需要在链接器->附加依赖项中添加,比如opencv_calib3d249d.lib等。

  已经有了库目录,为什么还要附加依赖项?下面有两个解释,不妨参考下:

  http://stackoverflow.com/questions/4066405/when-to-use-the-visual-studio-additional-dependencies
  https://www.zhihu.com/question/21735299
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: