在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种语句的可能性错误发生

### Floyd算法概述 Floyd算法,亦被称为插点法,采用动态规划的思想,在给定的加权图中找到多个源点之间的最短路径[^1]。此算法适用于解决任意两点间的最短路径问题(All Pairs Shortest Path),尤其适合稠密图。 ### 算法步骤解析 #### 初始化阶段 创建两个二维数组`map`和`path`用于存储各顶点间距离以及构建最短路径所需的中间节点信息。对于不存在直接连接的情况,默认设置极大值表示不可达状态;而对于自身到自身的距离则初始化为0[^4]。 ```python INF = float('inf') map = [ [0, 3, INF, 7], [8, 0, 2, INF], [5, INF, 0, 1], [2, INF, INF, 0] ] path = [ [-1, -1, -1, -1], [-1, -1, -1, -1], [-1, -1, -1, -1], [-1, -1, -1, -1] ] ``` #### 动态规划过程 遍历每一个可能作为中介点的顶点`k`,再依次考虑每一对起点`i`与终点`j`。如果通过当前考察的中介点`k`能够使从`i`到达`j`的距离变得更短,则更新两者之间的最小距离,并记录下此时所经过的新中介点编号至`path[i][j]`处。 ```python for k in range(len(map)): for i in range(len(map)): for j in range(len(map)): if map[i][j] > map[i][k] + map[k][j]: map[i][j] = map[i][k] + map[k][j] path[i][j] = k ``` 最终形成的`map`矩阵即代表了各个顶点两两之间最短路径长度的结果集,而借助辅助构造出来的`path`表可以帮助追踪具体走过的路线。 ### 流程示意 由于无法直接提供图形化展示,以下是文字描述版本: 1. **输入**:带权重的邻接矩阵形式表达的有向/无向图; 2. **处理**: - 设立初始条件——设定好起始状态下所有结点对之间的估计成本; - 进行迭代优化——尝试引入新的转接站以降低现有已知的最佳行程费用; 3. **输出**:完成后的邻接矩阵包含了所有成对顶点间的最低耗费通路详情。 上述过程中涉及到的具体操作已经在前文中给出Python代码片段予以说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值