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
$(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
相关文章推荐
- 运算符的重载—分数
- c++如何获取系统当前时间
- 浅谈时间戳与日期时间互转C语言
- C/C++实现输入输出(终端)
- 删除全字指定的字符
- 浅谈 C++ 中的 new/delete 和 new[]/delete[]
- C++和双重检查锁定模式(DCLP)的风险
- 学习C语言指针和链表的体会
- 函数模板的完善
- C语言错误 指针的类型错误
- C++ Singleton模式之线程安全
- C++和python的变量对比
- map hash_map unordered_map 性能测试
- 链表面试题:判断链表是否相交(c语言)
- 2.while结合for判断回文数及其比较+菲波拉契序列
- 运算符重载—复数的计算
- 《C++精英内参之程序员高效指南》-18健身方法的选择
- 二分图的最大匹配 C++实现
- xcode 调试c++
- c++实践参考:教师兼干部类