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

相关文章

如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)

《如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)》:本文主要介绍如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)问题,具有很好的参考价值,希望对大家有所帮助,如有... 目录先在你打算存放的地方建四个文件夹更改这四个路径就可以修改默认虚拟内存分页js文件的位置接下来从高级-

如何Python使用设置word的页边距

《如何Python使用设置word的页边距》在编写或处理Word文档的过程中,页边距是一个不可忽视的排版要素,本文将介绍如何使用Python设置Word文档中各个节的页边距,需要的可以参考下... 目录操作步骤代码示例页边距单位说明应用场景与高级用China编程途小结在编写或处理Word文档的过程中,页边距是一个

SpringBoot实现Kafka动态反序列化的完整代码

《SpringBoot实现Kafka动态反序列化的完整代码》在分布式系统中,Kafka作为高吞吐量的消息队列,常常需要处理来自不同主题(Topic)的异构数据,不同的业务场景可能要求对同一消费者组内的... 目录引言一、问题背景1.1 动态反序列化的需求1.2 常见问题二、动态反序列化的核心方案2.1 ht

golang实现动态路由的项目实践

《golang实现动态路由的项目实践》本文主要介绍了golang实现动态路由项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习... 目录一、动态路由1.结构体(数据库的定义)2.预加载preload3.添加关联的方法一、动态路由1

一文详解如何查看本地MySQL的安装路径

《一文详解如何查看本地MySQL的安装路径》本地安装MySQL对于初学者或者开发人员来说是一项基础技能,但在安装过程中可能会遇到各种问题,:本文主要介绍如何查看本地MySQL安装路径的相关资料,需... 目录1. 如何查看本地mysql的安装路径1.1. 方法1:通过查询本地服务1.2. 方法2:通过MyS

Python Selenium动态渲染页面和抓取的使用指南

《PythonSelenium动态渲染页面和抓取的使用指南》在Web数据采集领域,动态渲染页面已成为现代网站的主流形式,本文将从技术原理,环境配置,核心功能系统讲解Selenium在Python动态... 目录一、Selenium技术架构解析二、环境搭建与基础配置1. 组件安装2. 驱动配置3. 基础操作模

Python如何调用指定路径的模块

《Python如何调用指定路径的模块》要在Python中调用指定路径的模块,可以使用sys.path.append,importlib.util.spec_from_file_location和exe... 目录一、sys.path.append() 方法1. 方法简介2. 使用示例3. 注意事项二、imp

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删