VS2005这么设置工作路径让找到动态库方便项目管理

2024-03-27 13:18

本文主要是介绍VS2005这么设置工作路径让找到动态库方便项目管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VS2005这么设置工作路径让找到动态库方便项目管理

一般情况下,依赖的动态库需要拷贝到生成的文件所在的目录,但是生成目录我们通常不放在版本库里面,那么为了维持这个癖好,

我最近发现可以经过一番项目属性设置工作目录的方式,来把动态库所在的路径给找到。

我觉得比较合理的安排是,项目中使用include,lib两个目录来存储引用的内容,include通常放置头文件,而lib里面放置lib和dll文件;

通常项目中的的设置需要以下4个地方


第一个地方:  项目属性-》调试-》工作路径     在这个工作路径里面填写  lib目录;

第二个地方:  项目属性-》C/C++——》常规-》附加包含目录  在这个“附加包含目录”填写include目录

第三方地方:  项目属性-》链接器-》常规——》附加库目录-》附加库目录  在这个“附加库目录”填写lib目录。

第四个地方:  项目属性-》链接器-》输入——》附加依赖项  在这个地方填写lib库的各个文件名


其中一个地方,是我这篇要说的重点,就是这个工作目录设置了,就不需要吧需要的动态库给放置到生成目录里面,版本管理里面把文件生成目录给忽略掉就比单个文件忽略的设置好的多。


另外,第四个地方的.lib文件需要的设置也可以省掉,只需要在源码上添加可以比较简单

比如我的设置方式是:

#ifndef _DEBUG
#pragma comment(lib, "C://cppunit-1.12.1//lib//cppunit_dll.lib")
#pragma comment(lib, "C://cppunit-1.12.1//lib//TestRunner.lib")
#else
#pragma comment(lib, "C://cppunit-1.12.1//lib//cppunitd_dll.lib")
#pragma comment(lib, "C://cppunit-1.12.1//lib//TestRunnerd.lib")
#endif

其实因为设置了lib的包含路径,我们只需要如下把名字列出来就行了。

#ifndef _DEBUG
#pragma comment(lib, "cppunit_dll.lib")
#pragma comment(lib, "TestRunner.lib")
#else
#pragma comment(lib, "cppunitd_dll.lib")
#pragma comment(lib, "TestRunnerd.lib")
#endif

当然我们也可以把他们分别在各个debug release的版本属性里面分别设置需要包含的lib


这篇关于VS2005这么设置工作路径让找到动态库方便项目管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/852216

相关文章

Spring Boot中的路径变量示例详解

《SpringBoot中的路径变量示例详解》SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及... 目录一. 基本用法与参数映射1.路径定义2.参数绑定&nhttp://www.chinasem.cnbs

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

springboot如何通过http动态操作xxl-job任务

《springboot如何通过http动态操作xxl-job任务》:本文主要介绍springboot如何通过http动态操作xxl-job任务的问题,具有很好的参考价值,希望对大家有所帮助,如有错... 目录springboot通过http动态操作xxl-job任务一、maven依赖二、配置文件三、xxl-

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

python3如何找到字典的下标index、获取list中指定元素的位置索引

《python3如何找到字典的下标index、获取list中指定元素的位置索引》:本文主要介绍python3如何找到字典的下标index、获取list中指定元素的位置索引问题,具有很好的参考价值,... 目录enumerate()找到字典的下标 index获取list中指定元素的位置索引总结enumerat

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2