如何导出dll和lib

1.创建win32工程,选择dll

2.在工程所在的目录下创建3个目录,包括include、bin、lib,3个目录

3.设置dll工程的lib输出目录:

工程属性-》配置属性-》常规-》输出目录,填写:$(SolutionDir)\lib\

如图所示:

4.配置dll的dll输出目录:

工程属性-》配置属性-》连接器-》输出文件,填写:$(SolutionDir)bin\$(TargetName)$(TargetExt)

如下图所示:


5.通过上面的配置,目录结构算是建立起来了,下面我们来编写简单的dll程序

头文件:dll.h

#define  DLL_API _declspec(dllexport)
DLL_API void  add();
class DLL_API CTest{
public:
	void sayHello();
};
把上面的dll.h放入上面提到的include文件夹,并添加进入工程

cpp文件:dllMain.cpp

#include "../include/dll.h"
#include <iostream>
using namespace std;

 void  add()
{
	cout<<"add";
}
 void CTest::sayHello()
 {
	 cout<<"hello";
 }

dllmain.cpp放入工程所在的目录

按下F7就编译成功了

6.下面来编写测试工程

在当前项目下,新建exe工程,并向上面提到bin目录和lib目录然后编写测试文件:

#pragma  comment(lib,"dllTest4.lib")
#include"../include/dll.h"

void main()
{
	add();
	CTest test;
	test.sayHello();
}
按下F5就可以了

7.编译环境:vs2010 ,工程下载地址:http://download.csdn.net/detail/jia_zhengshen/7620747

8.csdn这个2b


### 回答1: makeexport dll导出lib是一个非常常见的操作。一般来说,这是因为我们需要将一个动态链接库中的函数导出到一个静态链接库中,以供其他代码使用。这个过程需要使用一些工具,主要有两个,分别是makeexports和lib。 首先,我们需要使用makeexports工具来生成一个.def文件,该文件列出了我们想要导出的函数和它们在库中的名称。然后,我们可以使用lib工具将这些导出函数生成为一个静态链接库。这个过程确保了我们可以使用这些函数而不需要动态加载它们。 makeexports工具和lib工具都是微软Visual Studio开发环境自带的工具,可以在命令行中使用。如果你使用的是其他编译器或开发环境,则可以使用类似的工具来实现相同的目的。 总的来说,将动态链接库导出为静态链接库是一个重要的操作,使我们可以将函数共享给其他代码而不需要它们运行时被动态加载。 ### 回答2: makeexport是一个工具,用于从动态链接库(DLL)中导出函数。这个工具可以通过在命令行中指定DLL导出函数列表来生成一个LIB文件,这个LIB文件包含DLL导出函数的符号和地址信息,以便在链接期间使用。 如果你需要使用某个DLL中的函数,但是没有相应的头文件和LIB文件,那么你可以使用makeexport工具来生成一个LIB文件。具体操作步骤如下: 1. 下载makeexport工具; 2. 在命令行中运行makeexport,并指定需要生成LIB文件的DLL以及导出函数列表; 3. 执行完命令后,会在当前目录下生成一个LIB文件; 4. 将LIB文件添加到你的项目中,以便在链接期间使用。 需要注意的是,使用makeexport工具生成的LIB文件只包含DLL中指定的导出函数。如果你需要使用DLL中其他的函数,你需要使用其他工具或手动编写相应的头文件和LIB文件。 总的来说,使用makeexport工具来生成LIB文件可以方便地使用DLL中的函数,但是需要注意生成的LIB文件不一定包含所有函数信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值