VS2008中生成lib和dll库文件

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

(1)新建项目--->win32控制台应用程序,输入项目名称,例如“dllTest”,点击确定;

(2)点击下一步:

(3)在出现的应用程序设置中,选择DLL(默认为控制台应用程序),如图所示:

(4)点击完成,之后,就可以写你的库接口代码了。

(5)这个时候,你会发现项目中出现了一个dllTest.cpp的文件,该文件的第一条语句,是这样的:#include "stdafx.h"。Stdafx.hvisual studio的预编译头文件,主要是为了加快编译的速度。为了让代码有更好的跨平台编译能力,我建议去除该选项。Stdafx.h预编译选项的去除是这样的,依次点击:dllTest(即,当前项目)-->属性-->c/c++-->预编译头如下图所示:

或许,你已经发现了,“创建/使用预编译头”的属性为“使用预编译头(/Yu)”,这里,只需用将该属性修改为"不使用预编译头"即可。如下图所示:

之后,点击“应用”,“确定”。这样,你就取消了VS2008默认的预编译选项。

(6)接着,我们来定义接口。在这里,我打算定义一个类CDllTest,该类只有一个函数,int Sum(int a, int b);完成加法运算。参考代码如下所示:

 

dllTest.h
#ifndef DLL_TEST_H
#define DLL_TEST_H

#ifndef DLL_API
#define DLL_API _declspec(dllexport)
//#else
//#define DLL_API _declspec(dllimport)
#endif

class DLL_API CDllTest
{
public:
	CDllTest();
	~CDllTest();

	int Sum(int a, int b);
};

#endif

dllTest.cpp
#include "dllTest.h"

int CDllTest::Sum(int a, int b)
{
	int val = a+b;
	return val;
}

CDllTest::CDllTest()
{

}

CDllTest::~CDllTest()
{

}


(7)代码写完了,接着就是编译了,选择debug模式或者release模式都可以。不过,如果是要发布,最好选择release模式。需要提醒的是,vs2008默认是生成.dll文件,也就是所谓的动态链接库(dll, dynamic link library)。如果你需要编译静态链接库,只需要设置一下,重新编译就可以了。设置方法是:项目-->属性-->常规这里,将配置类型从动态库(.dll)改为静态库(.lib)即可

默认为动态库:

修改为动态库:

修改之后,重新编译,就生成了dllTest.lib这个静态库文件了。

(8)接下来,我们再建立一个win32控制台应用程序,来验证刚才生成的lib静态库是否可以正常工作。首先,建立一个名为TestForDllTest的工程,然后,依次选择,项目-->属性-->链接器-->输入在其中的附加依赖项属性中,填入dllTest.lib,如下图所示:

(9)点击确定,之后,把刚才dllTest工程中生成的dllTest.libldllTest.h(如果刚才生成的是动态库,就需要将dllTest.lib,dllTest.dll,dllTest.h三个都拷贝过去)文件拷贝到当前目录。这样,你就可以测试刚才生成的那个dllTest.lib是否可以正常运行了。这里不妨给出一个参考测试程序:

 

#include "stdafx.h"
#include "dllTest.h"
#include "iostream"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	CDllTest dt;
	int res = dt.Sum(1, 2);
	cout<<"res: "<<res<<endl;

	system("pause");
	return 0;
}


 

eXosip入门(三):eXosip库的验证 本次我们来验证一下得到的eXosip库是否可用。       PS:为什么要验证呢?不是编译成库后就可以直接使用么?理论上是这样的,但是现实是残酷滴,编译成库文件,只是噩梦的开始,学习的道路不会一帆风顺。       本次只是验证eXosip库是否可用,不需要很复杂的代码,测试代码如下: // test.cpp #include "stdafx.h" #include #include 阅读详情

相关推荐

Windows下使用pthread

1.下载pthreads-w32-2-8-0-release.exe 下载地址:ftp://sourceware.org/pub/pthreads-win32 2. 安装pthreads-w32-2-8-0-release.exe        双击pthreads-w32-2-8-0-release.exe,点击Browse选择安装到的目录,然后点击Extract解

u012422855的专栏 2128

VS2008 VC++.net 打包发布静态dll设置

https://blog.csdn.net/schamman/article/details/7096588

qq_1191265562的博客 326

vs创建调用dlllib

简单记录一下在VS2008下创建dlllib,以及调用方法 一、生成DLLLIB         创建控制台应用程序 、在应用程序类型中选择DLLDLL工程创建完成。  创建一个MyDll.h #ifndef __MYDLL_H__ #define __MYDLL_H__ #ifdef MYLIBDLL #define MYLIBDLL extern "C" _declspec

行走 4807

vs2008 生成dll

* 如果需要生成dll文件,则需要新建一个项目 。。一 VS2008生成dll文件的方法    有两种方法:    1:傻瓜式操作    打开VS2008,依次点击:菜单->文件->新建项目->项目类型visual C#(这里假设为该项目所取的名字是DllBuild)->类库(注意必须是类库),即新建一个由纯.cs类库文件组成的程序集,写好代码之后(例如写了一个名为DllTest.cs的类,该类的namespace取名为DllTestNS),再依次点击:菜单->生成->生成DllBuild,这样你的DllB

ilonhoo的专栏 1267

VS2008LIBDLL的创建及调用

(这个年有点冷,元宵刚过,也得继续开始学习了。) LIBDLL的知识就懒得敲了,直接从如何建立生成LIBDLL开始。 创建项目→Win32项目→下一步之后按照需求选择DLL或者静态库(再视需求是否空项目,一般我都空项目),然后就OK了。 一、LIB生成、及使用 1、新建betabinlib.h文件 #ifndef BETABINLIB_H #define BETABINLIB_H

BetaBin 6302

使用VS2008创建类的DLL

因为项目合作的关系,需要将源代码转化为DLL。原本以为会很复杂,结果试验了一下,简单的吓人。 (1)编译类的DLL。 打开Visual Studio,文件→新建→项目→Win32 控制台应用程序,设置项目名称为MyDLL,应用程序类型选择DLL(D),附加选项选择空项目(E)。 头文件如下所示: /**********************************************

Augmented Reality & Computer Graphics 3634

VS2008程序打包

1:新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图) 此主题相关图片如下: 2:开始制作 安装向导完成后即可进入项目文件夹: 其中包括 双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件相应的类库组件添加进来. 然后右击你的可执行文件,创建快捷方式

raoqin的专栏 1018

OpenCV学习:OpenCV源码编译(vc9)

勾选 BUILD_SHARED_LIBS,BUILD_TESTS,OPENCV_BUILD_3DPARTY_LIBS,以及下面的WITH_JASPER,WITH_JPEG,WITH_PNG,WITH_TBB,WITH_TIFF选项。安装后的OpenCV程序下的build文件夹中,只找到了vc10、vc11vc12三种编译版本的dlllib文件,需要VS2010及以上的IDE版本,而没有我们常用的VS2008版本。Build目录可以设置为C:/OpenCV/opencv/opencv_build。

weixin_71792169的博客 577

OSG源码编译

1.准备工作:下载OSG源码(OSG Downloads page),Dependencies,Sample Datasets;下载CMake并安装,方便我们建立Visual Studio 的解决方案工程文件。下载地址:http://www.cmake.org/cmake/resources/software.html2.建立Visual Studio 的解决方案工程

shenzi的天空 6834

C++ Builder 2010 如何调用Vs2008创建出的C++的DLL

1.创建一个VS2008的C++的DLL工程 2.导出DLL结果为C方式,即如下代码示: #pragma once #include"TestClass.h" #ifdef INTERFACE_EXPORTS #define INTERFACE_API __declspec(dllexport) #else #define INTERFACE_API __declspec(dllimpor

示申 言舌 的专栏 2120

vs2008+matlab2010b--matlab转换为dll的操作步骤 ( 二)

1.配置vs2008,在vs2008中添加matlab的安装相关路径 打开VC2008,新建一个工程,然后将上述四个文件复制到工程目录下。 选择“工具-选项-项目解决方案-VC++目录”,在“显示以下内容目录”里选择“包含文件”将“D:\ProgramFiles\MATLAB\R2010b\extern\include”添加进去, 选择“工具-选项-项目解决方案-VC++目录”,在“

蜗牛的专栏 1024

编译zeromq的java绑定:jzmq

  1、  下载zeromq源码:http://www.zeromq.org/area:download, 本示例中选择版本:stable 2.2.0, 下载地址:http://download.zeromq.org/zeromq-2.2.0.zip 解压到:D:\zeromq-2.2.0\zeromq-2.2.0   2、  在windows 32位平台下编译,参考:http://w...

aswang的专栏 249

VS2008DLL的编写与调用

1。编写DLL    a)文件--打开--新建项目--Win32,右侧Win32项目,填写好项目名称,点击“下一步”,       应用程序类型选择:“DLL(D)”,附加选项:空项目(E),然后完成。    b)编写头文件(edrlib.h): #ifdef __cplusplus#define EXPORT extern "C" __declspec (dllexport)

放弃也是一种美 2万+

vs 2008调用lib dll

1. DLL lib 文件的区别:       DLL编译时并不包含到调用的exe中,运行时动态加载;所以如果DLL中的实现发生了变化,只需单独编译发行DLL。       lib 编译时包含到生成的exe中,运行时不再需要.lib文件,如果lib实现发生了变化,必须重新编译exe。  2. Visual Studio 2008中调用第三方的lib, dll文件,参数配置:

fifapope的专栏 2337

VS2008)C++ DLL文件的生成与使用

最近学习了一下VSDLL生成使用,在这里记录一下 1.DLL文件的生成 首先创建一个win32的控制台工程,然后如图 创建好工程后我们可以看到在项目的 "属性->配置属性->常规" 里看到配置类型为动态库.dll (这个配置类型你也可以不在上一步的时候设置成DLL,进来之后再改) 一般是使用DLL文件需要.h .dll .lib .h:函数的...

lizhenwei0219的博客 1298

vs2008调用libdll

LIBDLL是常用的库的类型,一般是直接使用封装好的库.在VS2008里的添加方法如下,比如OPENCV2有详细说明步骤:1.Tools->options->projects and solutions->VC++ directories分别在包含文件,库文件填加了路径 (这些路径只告诉编译器怎么找文件,没有说把那里面的文件加入工程.) (若不设置,编译报错:无法打开***文件)2.Project->properties->c/c++->general->additional include direct

sunvhao的专栏 1771
上一篇: 将图片序列压缩成视频
下一篇: 软件加密技术和注册机制
ChenLee_1
博客等级 码龄17年 6200粉丝 179原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值