vc下DLL项目设置dll和lib库输出路径以及使用lib/dll库时的包含路径

include 头文件包含路径设置: project->setting->C/C++->常规: Additional include directories(附加包含目录): ../../include等等

链接文件输出目录:    project->setting->配置属性->常规:输出目录

  例如:输出目录:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)

  解释:项目目录-Temp-Link-工程名字-Debug

中间目录:$(SolutionDir)Temp\Compile\$(ProjectName)\$(ConfigurationName)

解释:项目目录-Temp- Compile -工程名字-Debug

DLL库的输出路径设置:

项目-》属性-》链接器-》常规下的"输出文件"选项。

LIB库的输出路径设置:

项目-》属性-》链接器-》高级下的"导入库"选项。

DLL库的包含路径设置:

LIB库的包含路径设置:

项目-》属性-》链接器-》输入下的"附加依赖项"选项。输入要依赖的lib库。

项目-》属性-》链接器-》常规下的"附加库目录"选项。输入要依赖的lib库目录。

1.的dll的配置属性,DUBUG下:

调试:命令:$(SolutionDir)Bin\$(ConfigurationName)$(TargetFileName)

解释:项目目录-Bin-Debug-目标文件名字(xx.dll)

工作目录:$(SolutionDir)\Bin\$(ConfigurationName)\

解释:项目目录-Bin-Debug-

连接器:

常规:输出文件:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)\$(ProjectName)d.dll

解释:项目目录-Temp-Link-工程名字-Debug-工程名字d.dll

附加库目录: 解释:项目目录-Third-Lib

(需要调用的其他链接)

生成事件:

生成后事件:命令:

copy $(TargetPath) $(SolutionDir)Bin\$(ConfigurationName)\;

解释:复制  目标文件 到  项目目录-Bin-Debug

copy $(TargetDir)$(TargetName).lib $(SolutionDir)\Lib\;

时间: 2024-10-07 19:25:12

vc下DLL项目设置dll和lib库输出路径以及使用lib/dll库时的包含路径的相关文章

VS2008中生成DLL项目

创建项目 新建项目-> 选择Win32项目 输入项目名称,点击确定.在程序向导中选择下一步 选择DLL. 由于我想创建的是相对独立的DLL,所以不选择ATL和MFC. 点击完成. ? Main文件分析. 打开dllmain.cpp文件,这是DLL的入口文件,在这个文件里,可以在进程或者线程加载此文件时进行一些自己额外的处理. 添加自己的类. 右键点击项目,选择新建->类. 点击添加按钮. 输入类名,会自动生成.h文件和.cpp文件名.点击完成按钮. 打开MyClass1.h, 在类的外面添加自

在vs2008中添加lib文件以及一些常用项目设置选项

下面以添加ws2_32.lib文件为例 方法一(直接添加代码): 直接在.cpp文件中,添加#pragma comment(lib, "ws2_32.lib");即可.(ws2_32.lib即为你要添加的lib文件) 方法二(在vs工具栏中添加): 1.项目(project) -> TcpSrv属性(TcpSrv properties) (其中TcpSrv为工程名) 2.打开TcpSrv属性页后,配置属性 -> 链接器(linker) -> 输入(Input) ,在附

分享封装好的异步Mysql动态的库(DyNetMysql.dll) + 项目源码

在做C++项目时,经常会用到Mysql数据库,Mysql接口提供给我们的数据是相当原始的,如:字段名.字段类型,字段长度等等,一般情况我们都想一种更方便获得数据 如: XXXStruct* pRecourdInfo = (const XXXStruct*)(mysql获得的数据指针); 直接转换字段对应的结构来,这样能大大方便我们使用 这个功能已经在我之前发表上一篇文章<<分享一直在维护简单实用高效的C++Socket框架Swa-server(开源+源码)>>中实现,现在是将它封装

vs基础:无法断点调试dll项目 无法命中

调试vs时,经常会出现,你设置了dll项目的一些断点,可f5之后,这些断点无效.时代定制的程序组的童鞋告诉你解决方法:在解决方案上右键“属性”,点击左侧树“配置属性”-->“配置”,右侧项目列表中,对要调试的项目勾选“debug”配置,然后保存.f5即可命中断点. 注意:一定在解决方案上右键,而非要调试的项目上!!!

【转】VC下的Unicode编程

转自http://www.leewei.org/?p=1304 UniCode简述 在Windows下用VC编程,如果编写的程序要在多种语言环境下运行(比如日文.中文.葡萄牙文等),使用VC默认的MBCS编译选项就会出现乱码,甚至导致程序崩溃.要克服这一缺点,就需要使用Unicode编程,简要说明一下Unicode: Unicode也是一种字符编码方法,它占用两个字节(0000H—FFFFH),容纳65536个字符,这完全可以容纳全世界所有语言文字的编码.在Unicode里,所有的文字都按一个字

VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结

Background MSDN中对于在不同的配置下Link的LIB作了说明: C Runtime Library: 开关 对应的库 版本 /MD MSVCRT.LIB 多线程DLL的Release版本 /MDd MSVCRTD.LIB 多线程DLL的Debug版本 /MT LIBCMT.LIB 多线程静态链接的Release版本 /MTd LIBCMTD.LIB 多线程静态链接的Debug版本 /clr MSVCMRT.LIB 托管代码和非托管代码混合 /clr:pure MSVCURT.LIB

VC下Debug 和 Release 版本区别

Debug 和 Release 并没有本质的区别,他们只是VC预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动.如果我们愿意,我们完全可以把Debug和Release的行为完全颠倒过来.当然也可以提供其他的模式,例如自己定义一组编译选项,然后命名为MY_ABC等.习惯上,我们仍然更愿意使用VC已经定义好的名称.     Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M).至于是否需要DLL支持,主要看你采用的编译选项.如果是基于 ATL的,则Debug

VC++下编译 程序“减肥”

在vc6 和 vs 2008下 编译 以下代码,不更改任何编译设置(vc6  40k , s2008 7k). 一.vc6下,Release 模式 编译处理. 1.去掉不必要的 链接库  工程(Project)-->设置(Settings)-->链接(link)属性页-->对象库/模块(object/library modules) 去掉所有的lib. 选择使用 MSVCRT.LIB kernel32.lib user32.lib. 可以忽略不必要的警告,比如 LINK:warning

.NET项目开发的几个非常重要的项目设置

在开发.NET项目的时候,包括Winform项目和Web方面的项目,编译和部署的时候,都需要考虑到是32位的X86方式,还是64位的方式,有时候还需要进行调试,如果没有合理设置好这些关系,还可能出现无法调试的问题,本文基于我对Winform的开发总结,介绍在.NET项目中对项目工程的设置操作. 1.设置编译平台的属性 一般情况下,我们为了同时兼容32位和64位操作系统,我们需要对设置好.NET项目的编译属性,一般设置为X86的方式.在VS的IDE里面,选择生成->配置管理器菜单. 如我的混合框架