当前位置: 首页 > news >正文

【VS】在VS中添加lib库的三种方法

静态库:VS工程设置为生成lib

导入库:VS工程设置为生生成DLL,VS生成DLL的同时 生成一个lib,这个就是导入库。只记录函数在DLL的位置没有实现函数

在VS中添加lib库的三种方法

注意:

1、每种方法也要复制相应的DLL文件到相应目录,或者设定DLL目录的位置,具体方法为:"Properties" -> "Configuration Properties" -> "Debugging",在"Working Directory"设置dll的路径就可以了

2、无论是设置DLL目录,或者是Lib目录,亦或是头文件的目录,都有release版本和debug版本的区分,每种版本的设置都是独立的,要分别设置。

------------------------------------------------------------------------------------------------------------------------------------------

方法1:  通过设置工程配置来添加lib库.

A、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

B、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
C  然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。

这种方法比较繁琐,且不直观,而且还可能要争对debug版本和release版本作不同的配置,因为我们生成的两个版本的库可能放在不同的目录中的.

方法2: 使用编译语句:

#ifdef _DEBUG
#pragma comment(lib,"..\\debug\\LedCtrlBoard.lib")
#else
#pragma comment(lib,"..\\release\\LedCtrlBoard.lib")
#endif

这种方法直观,方便,且可以按如上直接区分出Debug版本和Release版本的不同目录.当然,通过宏,还可以区分更多版本.

但是在指定目录时,不小心容易出错.

方法3: 直接添加库文件到工程中.

就像你添加.h和.cpp文件一样,把lib文件添加到工程文件列表中去.

VC中,切换到"解决方案视图",--->选中要添加lib的工程-->点击右键-->"添加"-->"现有项"-->选择lib文件-->确定.

就是这么简单,搞定.

这个方法适用于在我的工程的debug版本和Release版本中都使用同一个lib库文件时.这样就省去了你1方法配置环境的繁琐,也省去了方法2种语句的可能性错误发生.

功不成,身已退

原文:https://www.cnblogs.com/dongsheng/p/4011145.html

相关文章:

  • 【合并lib】windows下多个lib合并的方法|查看lib是导入库还是静态库
  • 【python】anaconda 安装第三方包
  • 【IP/TCP】127.0.0.1和localhost和本机IP三者的区别
  • 【C/C++相互调用】C调用C++库和C++调用C库的方法
  • [STL]C++ STL中常见容器的时间复杂度
  • 【STL map】map用法、插入方法、pair和make_pair的区别
  • 【字符编码】 简洁理解ANSI,UTF8,Unicode,ASCII编码的差别
  • [MYSQL]mysql将两个表结果合并到一起
  • 【MYSQL】mysql把字段进行逗号分隔成多条数据
  • 【python备份】Python备份CSDN完整博客 研读
  • 【python】Python中yield的理解与使用|python生成器
  • 【数据结构】八大数据结构分类 研读笔记
  • 【python】list、tuple、dict、set、dataframe、narray、series之间的区别
  • 【python】python3.7数据分析入门学习笔记 研读
  • 【VS输出UTF8】 C++ 控制台程序中输出UTF8字符乱码问题解决方法
  • $translatePartialLoader加载失败及解决方式
  • const let
  • FastReport在线报表设计器工作原理
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Netty 4.1 源代码学习:线程模型
  • Objective-C 中关联引用的概念
  • php ci框架整合银盛支付
  • Python连接Oracle
  • SQLServer插入数据
  • SQLServer之创建显式事务
  • Theano - 导数
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 关于 Cirru Editor 存储格式
  • 精彩代码 vue.js
  • 看域名解析域名安全对SEO的影响
  • 前端存储 - localStorage
  • kubernetes资源对象--ingress
  • ​卜东波研究员:高观点下的少儿计算思维
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • $.ajax()参数及用法
  • (2020)Java后端开发----(面试题和笔试题)
  • (4)Elastix图像配准:3D图像
  • (C语言)共用体union的用法举例
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (简单) HDU 2612 Find a way,BFS。
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)为C# Windows服务添加安装程序
  • .Net CF下精确的计时器
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET 材料检测系统崩溃分析
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .net专家(张羿专栏)