VS/VC头文件 库文件 路径设置,绝对路径(本机电脑的任何位置盘目录单斜线/),相对路径(相对于工程所在路径为起点双斜线//注意不是)和设置当前文件夹路径$(

      最后更新:2022-03-07 14:51

      一、VS中添加LIb库及头文件(外部依赖项)的步骤:
      1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。
      2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
      然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。
      3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。


      二、相对路径的设置
      在VS的工程中常常要设置头文件的包含路径,当然你可以使用绝对路径,但是如果你这样设置了你只能在你自己的机器上运行该工程;如果其他人拷贝你的工程到其他机器上就可能无法运行,这个是因为你在建工程时可能把工程放在了E:盘,但是其他人可能会把工程放在其他根目录下,这样会导致找不到头文件问题。

      对于新手,在设置绝对路径时往往会犯浑,他们不清楚这里的“相对”究竟是以什么位置为起点。其实这里的相对路径就是相当于工程文件(XXXX.vcproj)为起点零计算出的能找到包含所需头文件(也就是找包含所需头文件的include目录)的路径。

      例如你的工程文件(Count.vcproj)所在目录路径为:
      E:projectsCountCountCount.vcproj
      该工程需要包含一个图片参数,该图片所在路径如下:
      E:projectsCountpicpic01.jpg
      这里程序中的相对路径设置如下:
      ..\pic\pic02.jpg

      程序代码中的参数路径设置时要用双斜线:
      例如:
      #include "..TestLiblib.h"
      #pragma comment(lib,"..\debug\TestLib.lib");

      对于新手,在设置绝对路径时往往会犯浑,他们不清楚这里的“相对”究竟是以什么位置为起点。其实这里的相对路径就是相当于工程文件(XXXX.vcproj)为起点零计算出的能找到包含所需头文件(也就是找包含所需头文件的include目录)的路径。
      例如你的工程文件(Count.vcproj)所在目录路径为:
      E:projectsCountCountCount.vcproj
      该工程需要包含一个图片参数,该图片所在路径如下:
      E:projectsCountpicpic01.jpg
      这里程序中的相对路径设置如下:
      ..\pic\pic02.jpg
      程序代码中的参数路径设置时要用双斜线:
      例如:
      #include "..TestLiblib.h"
      #pragma comment(lib,"..\debug\TestLib.lib");

      三、预编译宏显示不正常(颜色和正常预编译宏不同)

      打开这里将定义的编译宏输入即可。

      参考文献:
      http://blog.csdn.net/stl1634614466/article/details/68061788
      http://www.mamicode.com/info-detail-1779393.html
      http://blog.csdn.net/yuxikuo_1/article/details/52193139
      ————————————————
      版权声明:本文为CSDN博主「东坡同学」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
      原文链接:https://blog.csdn.net/jobbofhe/article/details/78363718

      另文

      今天在SVN上下载了最新版本的渲染引擎工程文件,想编译Release X64的时候出错,提示无法找到xxxx.h文件 。

      学习这种事,一定不能马虎。

      为了解决头文件在原来作者电脑上能编译,放在别的同样布置的电脑上却提示找不到头文件的问题。我们要提供给编译器的路径信息一定是可移植的。

      在VS2008后的版本,有个特别的配置方法:“属性管理器”(可在菜单的:“视图”选项中找到)可在每个工程文件下建立一个属性表,里面包含了我们熟悉的信息。如下图:

      鼠标“右键”添加新项。

      再次右键新建的属性表,选择“属性”

      在附加包含目录中,设置想要包含的头文件路径即可。

      在包含头文件的路径时,可以通过使用环境变量的方式来设置当前文件夹路径$(ENVIVALUE)

      配合相对路径:./dir   表示当前路径的dir文件夹

      ../dir  表示当前路径的上一级中的dir文件夹(这在很多C/C++#include" XXX  "能见到,语法相同)

      VS包含头文件的路径设置 - P.wang - 博客园

      另文

      在vc6中tools->options->directory可以设置
      vs怎么设置添加编译的头文件路径的?以下两种途径任选一种
      1)在解决方案上点右键打开解决方案属性页,通用属性,测试源文件,包含源代码的目录(在这里设置)~~~~~~~~~~~~
      2)工程上右键->属性->配置属性->C/C++->附加包含目录

      vs 添加头文件路径 - songtzu - 博客园

      另文

      在程序开发中,很多时候需要用到别人开发的工具包,如 OpenCV 和itk。 一般而言,在vs中,很少使用源文件,大部分是使用对类进行声明的头文件和封装了类的链接库(静态lib或动态dll)。 如果要使用这些类,需要在文件中包含 头文件 的名字,如#include “cv.h”。但这个并不够,因为这个文件一般来说不在当前目录下,解决方法如下

      方法一:

      将所包含的头文件复制到当前目录(另一篇文章有写)下,这个比较有局限性,因为如果头文件太多,这样比较麻烦。

      方法二:

      步骤A: 添加头文件所在的目录

      步骤A-1: 依次打开“项目——属性——配置属性——C++——常规——附加包含目录”中加入所有的路径。
      这里需要注意的是:
      (1)路径必须指向头文件所在的子文件夹,而不能直到父文件夹就结束
      (2)每个路径不需要加上双引号,输入了之后,vs2008会自动加上双引号,如果自己加可能vs2008无法识别双引号
      (3)如果是多个路径,路径直接用“;”隔开。

      步骤B: 添加库(libs)文件目录和lib文件名

      除了头文件以外,也需要告诉编译器,类在哪里实现的,即封装类的链接库在哪里,这样程序才能执行工具包中的函数。首先需要将链接库的路径输入vs2008,即添加库(libs)文件目录。

      步骤B-1:依次打开“项目——属性——配置属性——链接器——常规——附加库目录”中加入链接库的路径。
      步骤B-2:添加所需“库文件”名称,即添加编译所需要(依赖)的 lib 文件 。在“项目——属性——配置属性——链接器——常规——输入——附加依赖项”中加入链接库的名字,多个lib用空格隔开。(等同于“#pragma comment(lib, “xxx.lib”) ”语句)。

      一般我们推荐使用方法二,同时所有的路径使用相对路径的方式,以便于移植, 相对路径宏参考资料

      转载: visual studio 2008中头文件和库文件路径设置_ares_新浪博客

      另文:相对路径宏参考资料,VS中的路径宏 OutDir、ProjectDir、SolutionDir各种路径含义

      说明
      $(RemoteMachine)

      设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。

      $(References)

      以分号分隔的引用列表被添加到项目中。

      $(ConfigurationName)

      当前项目配置的名称(例如“Debug”)。

      $(PlatformName)

      当前项目平台的名称(例如“Win32”)。

      $(Inherit)

      指定在由项目生成系统所撰写的命令行中,继承的属性出现的顺序。默认情况下,继承的属性出现在当前属性的末尾。

      $(NoInherit)

      使任何将被继承的属性不被继承。若还要避免同级级别的计算,请使用$(StopEvaluating)。使用 $(NoInherit)会导致对于同一属性忽略任何出现的 $(Inherit)。

      $(StopEvaluating)

      立即停止计算链中宏的计算。出现在 $(StopEvaluating) 之后的任何值将不出现在宏的计算值中。如果$(StopEvaluating) 在 $(Inherit) 之前,计算链中当前位置的继承值将不会连接到宏值。$(StopEvaluating)是 $(NoInherit) 的功能超集。

      $(ParentName)

      包含此项目项的项的名称。该名称将是父文件夹名称或项目名称。

      $(RootNameSpace)

      包含应用程序的命名空间(如果有)。

      $(IntDir)

      为中间文件指定的相对于项目目录的目录路径。它解析为“中间目录”属性的值。

      $(OutDir)

      输出文件目录的路径,相对于项目目录。这解析为“输出目录”属性的值。

      $(DevEnvDir)

      Visual Studio .NET 的安装目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“”。

      $(InputDir)

      输入文件的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“”。如果该项目是输入,则此宏等效于 $(ProjectDir)。

      $(InputPath)

      输入文件的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。如果该项目是输入,则此宏等效于 $(ProjectPath)。

      $(InputName)

      输入文件的基本名称。如果该项目是输入,则此宏等效于 $(ProjectName)。

      $(InputFileName)

      输入文件的文件名(定义为基本名称 + 文件扩展名)。如果该项目是输入,则此宏等效于 $(ProjectFileName)。

      $(InputExt)

      输入文件的文件扩展名。它在文件扩展名的前面包括“.”。如果该项目是输入,则此宏等效于 $(ProjectExt)。

      $(ProjectDir)

      项目的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“”。

      $(ProjectPath)

      项目的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。

      $(ProjectName)

      项目的基本名称。

      $(ProjectFileName)

      项目的文件名(定义为基本名称 + 文件扩展名)。

      $(ProjectExt)

      项目的文件扩展名。它在文件扩展名的前面包括“.”。

      $(SolutionDir)

      解决方案的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“”。

      $(SolutionPath)

      解决方案的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。

      $(SolutionName)

      解决方案的基本名称。

      $(SolutionFileName)

      解决方案的文件名(定义为基本名称 + 文件扩展名)。

      $(SolutionExt)

      解决方案的文件扩展名。它在文件扩展名的前面包括“.”。

      $(TargetDir)

      生成的主输出文件的目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“”。

      $(TargetPath)

      生成的主输出文件的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。

      $(TargetName)

      生成的主输出文件的基本名称。

      $(TargetFileName)

      生成的主输出文件的文件名(定义为基本名称 + 文件扩展名)。

      $(TargetExt)

      生成的主输出文件的文件扩展名。它在文件扩展名的前面包括“.”。

      $(VSInstallDir)

      安装 Visual Studio .NET 的目录。

      $(VCInstallDir)

      安装 Visual C++ .NET 的目录。

      $(FrameworkDir)

      安装 .NET Framework 的目录。

      $(FrameworkVersion)

      Visual Studio 使用的 .NET Framework 版本。与 $(FrameworkDir) 相结合,就是 Visual Studio 使用的 .NET Framework 版本的完整路径。

      $(FrameworkSDKDir)

      安装 .NET Framework SDK 的目录。.NET Framework SDK 可作为 Visual Studio .NET 的一部分安装,也可单独安装。

      $(WebDeployPath)

      从 Web 部署根到项目输出所属于的位置的相对路径。返回与 RelativePath 相同的值。

      $(WebDeployRoot)

      指向 位置的绝对路径。例如,c:inetpubwwwroot。

      $(SafeParentName)

      有效名称格式的直接父级的名称。例如,窗体是 .resx 文件的父级。

      $(SafeInputName)

      作为有效类名的文件的名称,但不包括文件扩展名。

      $(SafeRootNamespace)

      项目向导将在其中添加代码的命名空间名称。此命名空间名称将只包含在有效的 C++ 标识符中允许的字符。

      $(FxCopDir)

      fxcop.cmd 文件的路径。fxcop.cmd 文件不和所有的 Visual C++ 版本一起安装。

      转载 VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径_restraint的专栏-CSDN博客

      VS中的路径宏 OutDir、ProjectDir、SolutionDir各种路径含义_Keep Moving~-CSDN博客_projectdir对应目录

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类