C/C++教程

msvc 库目录/附加库目录 包含目录/附加包含目录的区别

本文主要是介绍msvc 库目录/附加库目录 包含目录/附加包含目录的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

include

参考 https://docs.microsoft.com/en-us/cpp/build/reference/i-additional-include-directories?view=msvc-170
msvc在编译的时候按照以下顺序搜索头文件:

  1. 用双引号(#include “xxx.h”)包含的头文件,先在本地目录下搜索
  2. 如果上一步没搜到,或者用尖括号包含的头文件(#include <stdio.h>),通过 /I 指定的目录搜索
  3. 如果上一步骤没搜到,再搜索通过环境变量 INCLUDE 指定的目录

包含目录:include directories
附加包含目录:additional include directories
这两个东西都是寻找头文件的路径,只不过优先级不一样

很明显,“c/c++ -> 常规 -> 附加包含目录”的搜索优先级要高于“vc++目录 -> 包含目录”

Libpath

参考 https://docs.microsoft.com/en-us/cpp/build/reference/libpath-additional-libpath?view=msvc-170
链接器在链接的时候搜索顺序为:首先在选项 "/LIBPATH" 指定的路径中搜索,然后搜索 LIB 环境变量中指定的路径。
库目录:Libpath
附加库目录:Additional Libpath
这两个东西都是指定链接的时候搜索lib文件的路径,只不过优先级不一样

很明显,“链接器 -> 常规 -> 附加库目录”的搜索优先级要高于“vc++目录 -> 库目录”

这篇关于msvc 库目录/附加库目录 包含目录/附加包含目录的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!