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

news2024/11/16 8:20:21

文章目录

  • 1 包含目录/附加包含目录
    • 1.1 区别和作用
    • 1.2 设置路径
  • 2 库目录/ 附加库目录
    • 2.1 用途
    • 2.2 设置路径
  • 3 附加依赖项
    • 3.1 用途
    • 3.2 设置路径
  • 4 注意运行库的设置
  • 4 静态链接库调用方法
  • 5 动态链接库的调用方法

利用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生成在哪个目录下)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1142960.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL中:语法总结(group by,having ,distinct,top,order by,like等等)

语法总结&#xff1a;group by&#xff0c;distinct ...... 1.group by2.聚集函数count 3.order by4.增insert、删&#xff08;drop、delete&#xff09;、改&#xff08;update、alter&#xff09;5.查select嵌套查询不相关子查询相关子查询使用的谓词使用的谓词子查询的相关谓…

大厂面试题-JVM中的三色标记法是什么?

目录 问题分析 问题答案 问题分析 三色标记法是Java虚拟机(JVM)中垃圾回收算法的一种&#xff0c;主要用来标记内存中存活和需要回收的对象。 它的好处是&#xff0c;可以让JVM不发生或仅短时间发生STW(Stop The World)&#xff0c;从而达到清除JVM内存垃圾的目的&#xff…

蓝桥杯每日一题2023.10.27

题目描述 快速排序 - 蓝桥云课 (lanqiao.cn) #include <stdio.h>int quick_select(int a[], int l, int r, int k) {int p rand() % (r - l 1) l;int x a[p];{int t a[p]; a[p] a[r]; a[r] t;}int i l, j r;while(i < j) {while(i < j && a[i] &…

centos 8 yum源不能使用问题

问题&#xff1a;新安装的centos 8 不能使用wget就不能下载和安装其他的软件 错误&#xff1a;为仓库 appstream 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist 解决&#xff1a; [rootlocalhost ~]# cd /etc/yum.repos.d [rootlocalhost yu…

栈、队列、矩阵的总结

栈的应用 括号匹配 表达式求值&#xff08;中缀&#xff0c;后缀&#xff09; 中缀转后缀&#xff08;机算&#xff09; 中缀机算 后缀机算 总结 特殊矩阵 对称矩阵的压缩存储 三角矩阵 三对角矩阵 稀疏矩阵的压缩存储

windows服务器环境下使用php调用com组件

Office设置 安装 office2013 且通过正版激活码激活 在组件服务 计算机 我的电脑 DOM 中找到 Microsoft Word 97 - 2003 文档 服务&#xff0c;右键属性 身份验证调整为 无 在 标识中 调整为 交互式用户 php环境设置 开启com组件扩展 在php.ini中设置 extensionphp_com_dotn…

关于亚马逊 CodeWhisperer 的测试反馈

CodeWhisperer 是亚马逊推出的实时 AI 编程助手&#xff0c;是一项基于机器学习的服务&#xff0c;它可以分析开发者在集成开发环境&#xff08;IDE&#xff09;中的注释和代码&#xff0c;并根据其内容生成多种代码建议。 亚马逊云科技开发者社区为开发者们提供全球的开发技术…

python---continue关键字对for...else结构的影响

代码&#xff1a; str1 laowang for i in str1:if i w:print(遇w不打印)continueprint(i) else:print(循环正常结束之后执行的代码) 图示&#xff1a;

速卖通商品详情API接口(标题|主图|SKU|价格|商品描述)

速卖通商品详情接口的用途是获取商品信息。 速卖通商品详情接口可以获取到商品的完整详细信息&#xff0c;包括商品名称、价格、图片、描述、规格、库存等&#xff0c;这些信息能够帮助用户了解商品特点、性能和市场定位&#xff0c;并做出购买决策。同时&#xff0c;通过使用…

0基础学习VR全景平台篇第114篇:全景图优化和输出 - PTGui Pro教程

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 前情回顾&#xff1a;之前&#xff0c;我们详细介绍了如何用编辑器、控制点、垂直线等功能优化错位和矫正水平&#xff0c;然而这些调整不会马上生效。 我们需要在【优化】选项卡…

react-native调试

一、调试页面js代码 我用的真机调试&#xff0c;手机摇晃会出现出现的页面&#xff0c;点击debug 点击debug后&#xff0c;页面会出现&#xff0c;点按提示操作快捷键会出现开发者工具 注意&#xff1a;Chrome 中并不能直接看到 App 的用户界面&#xff0c;而只能提供 consol…

百度超级链XuperChain使用JavaSDK接入

环境 &#xff1a; ubuntu20 xuperchain 5.3 go 1.17 springboot : 2.5.14 前言 请提前启动好xchain的节点&#xff0c;我选择简单启一个xchain节点作为测试&#xff0c;并且使用默认端口37101 SpringBoot项目初始化 我们先进行SpringBoot项目的配置进行讲解&#xff0c;这里…

安卓逆向之雷电模拟器中控

一, 雷电模拟器 安装使用 官方地址: https://www.ldmnq.com ,官方论坛 https://www.ldmnq.com/forum/ . 有一个多开管理器,还有就是设置手机的参数比较关键。 二,雷电模拟器开启面具,安装LSP。 设置root 权限。

搜索引擎搜索技巧总结

晚上在B站上刷到一个关于搜索技巧的干货视频&#xff0c;这个视频真的不错&#xff0c;结尾还提到了AI时代的搜索思路之前自己也零碎的探索出了一些搜索技巧&#xff0c;但是没有总结&#xff0c;就没法稳定的加入自己的工作流&#xff0c;持续提高效率受到这个视频的启发&…

线扫相机DALSA--分频倍频计算公式及原理

分频倍频计算公式及原理 推导原理&#xff1a; 假设编码器脉冲精度为P&#xff1b;同步轮/辊周长为C&#xff0c;Fov为视野&#xff0c;Res为线扫相机分辨率&#xff0c;N代表N倍频编码器&#xff0c;分频为D&#xff0c;倍频为M 线扫项目常规采用N&#xff08;N 4&#xff0…

化身全能战士:ChatGPT助我横扫办公室【文末送书两本】

化身全能战士&#xff1a;ChatGPT助我横扫办公室 半年签约 16 本书有 ChatGPT 不会的吗&#xff1f;解锁 ChatGPT 秘技&#xff0c;化身全能战士ChatGPT 基本知识办公自动化职场学习与变现 作者简介结语购买链接参与方式往期赠书回顾 &#x1f3d8;️&#x1f3d8;️个人简介&a…

用HTML+CSS+JS实现一个简单的弹幕滚动留言板

在线演示地址&#xff1a;https://www.ewbang.com/community/board.html 本文利用HTMLCSSJS写了一个简单的弹幕滚动留言板小功能。 <!DOCTYPE html> <html><head><meta http-equiv"content-type" content"text/html;charsetutf-8" /&…

shell实验

1&#xff0e;编写脚本for1.sh&#xff0c;使用for循环创建20账户&#xff0c;账户名前缀由用户从键盘输入&#xff0c;账户初始密码由用户输入&#xff0c;例如&#xff1a;test1、test2、test3、....、test10 编写脚本&#xff0c;使用read -p提醒用户从键盘输入账户名前缀以…

轻量封装WebGPU渲染系统示例<1>-彩色三角形(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/version-1.01/src/voxgpu/sample/VertColorTriangle.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 2. 高频调用与低频调用隔离。 3. 面向用户的易用性封装。 4. 渲染数据和渲染机制分离。 …

FL Studio21最新中文版DAW数字音频工作站

大概从去年开始&#xff0c;“电子音乐制作技术”成为越来越常见的说法。一开始我们觉得这种说法太过于笼统&#xff0c;因为电子音乐制作的技术早已不限于用在电子音乐&#xff0c;它更像是现代音乐制作技术。毕竟现代化的90%的音乐都是这么做出来的。 对&#xff0c;我们说的…