• Windows VS C++工程:包含目录、库目录、附加依赖项、附加包含目录、附加库目录配置与静态库、动态库的调用——以OCCI的配置为例


    利用Visual Studio编写C++工程文件时,时常需要自行配置自己编写的头文件、外部引用的静态链接库和动态链接库的路径,这时候需要在项目属性中进行配置。

    1 包含目录/附加包含目录

    #include < .h>中 .h的搜索目录。如果有XXX.h找不到,设置这个目录可以解决。

    1.1 区别和作用

    1. 作用:预编译会从该目录查找头文件,可以直接#include<该目录中的头文件>.

    2. 区别:

    • 头目录搜索的优先级不同,顺序:1、源文件目录–>2、附加包含目录–>3、包含目录
    • 包含目录:修改了系统的include宏的值,是全局的;
    • 附加包含目录:用于当前项目,对其他项目没有影响。

    编译器搜索头文件顺序:

    1. 如果#include使用双引号(“”)形式,它将首先搜索本地目录。现从包含#include语句的当前文件的所在目录开始搜索。若果失败,则从当前目录的父目并逐级往上搜索,直到最上层include文件所在的目录。
    2. 如果#include使用尖括号(<>)形式,或者使用双引号形式本地目录检索失败,它会按照/I选项(附加包含目录)指定的目录搜索。顺序是按照CL在命令行中遇到它们的顺序。
    3. INCLUDE环境变量指定的目录,即包含目录。

    所以,对本项目自身的#include一定要用双引号,否则如果用尖括号,不会搜索本地目录,而是直接从附加包含目录开始搜索,自然就找不到本地的文件,然后报错。

    1.2 设置路径

    包含目录(Include Directories)

    配置属性 → VC++目录 —>包含目录

    D:\ProgramData\OCCI_InstantClient\instantclient_19_20\sdk\include

    在这里插入图片描述在这里插入图片描述

    附加包含目录(Additional Include Directories)

    配置属性 → C/C++ → 常规 —>附加包含目录

    2 库目录/ 附加库目录

    寻找.lib文件的搜索目录

    2.1 用途

    作用:指明库文件所在的目录or路径,即寻找.lib文件的搜索目录
    区别:优先级不同,先检索附加库目录,再检索库目录

    2.2 设置路径

    库目录(Library Directories)

    位于:配置属性→ VC++目录→ 库目录

    D:\ProgramData\OCCI_InstantClient\instantclient_19_20\sdk\lib\msvc\vc14

    在这里插入图片描述

    附加库目录(Additional Library Directories)

    位于:配置属性→ 链接器→ 常规→ 附加库目录

    D:\ProgramData\OCCI_InstantClient\instantclient_19_20\sdk\lib\msvc\vc14

    3 附加依赖项

    lib库(C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译之后,.cpp,.cc,*.c会被打包成一个.lib文件,这样可以保护源代码)

    3.1 用途

    作用:指明依赖库文件的名称

    3.2 设置路径

    位于:配置属性 → 连接器 → 输入

    Debug模式下选择带_d的lib,发布的时候需要改成相应的release不带_d的

    oraocci19d.lib

    在这里插入图片描述

    4 注意运行库的设置

    在这里插入图片描述

    4 静态链接库调用方法

    -(1) 要使用一个静态库,除了要include其头文件以外(附加包含目录),还要在链接过程中把lib加进去(附加库目录、附加依赖项)。

    -(2)附加包含目录、附加库目录、附加依赖项的添加方法及说明:

    ① 附加包含目录—添加工程的头文件目录:
    项目->属性->配置属性->C/C+±>常规->附加包含目录:加上头文件的存放目录;

    ② 附加库目录—添加文件引用的lib静态库路径:
    项目->属性->配置属性->链接器->常规->附加库目录:加上lib文件的存放目录;

    ③ 附加依赖项—添加工程引用的lib文件名:
    项目->属性->配置属性->链接器->输入->附加依赖项:加上lib文件名。

    5 动态链接库的调用方法

    在这里插入图片描述

    (2)当需要向项目中添加.dll动态链接库时,直接将需要添加的.dll文件拖拽到项目生成的.exe所在的文件夹下即可(项目->属性->配置属性->常规->输出目录,可以看到.exe生成在哪个目录下)。

  • 相关阅读:
    HTMLDOM中的API之btoa和atob
    第一百零八篇:最常用的基本数据类型(Number类型)
    PHP将word文件转为图片预览
    ChatGPT突然上线APP!iPhone可用、速度更快,GPT-4用量限制疑似取消
    Kubernetes集群中部署服务思路
    计算机视觉与深度学习-卷积神经网络-纹理表示&卷积神经网络-纹理表示-[北邮鲁鹏]
    C# 实例解释面向对象编程中的依赖反转原则
    腾讯云南京服务器性能如何?南京服务器测速IP地址
    软考高级之132个工具和技术
    如何与意法半导体STMicro建立EDI连接?
  • 原文地址:https://blog.csdn.net/jiangchufeng123/article/details/134086781