`
aigo
  • 浏览: 2537648 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

VC++ DLL工程同时生成dll和lib文件

 
阅读更多

1,在自己的DLL工程中新建一个Module-Definition File(.def)名字随意,例如:mydef.def。

2,工程属性 -> 连接器 -> 输入 -> Module Definition File,输入刚才新建的def文件名。

 

这样一个dll工程就可以同时生成dll和lib两个文件了,这个lib可以用于其他项目的动态库依赖。

 

 

如何让dll中的函数接口公布给外部使用:

在工程中找到需要给外部接口的函数,改为类似于int __stdcall addetection(int argc, char *argv)的形式,即增加__stdcall 。新建一个.h头文件,在头文件中加入这个函数的声明__declspec(dllexport) int __stdcall addetection(int argc, char *argv);

如果是一个类,则用__declspec(dllexport)修饰,例如:class __declspec(dllexport) MyClass{}

分享到:
评论

相关推荐

    vc++ 6.0使用dbghelp.dll生成dmp内存转储文件

    vc++ 6.0使用dbghelp.dll生成dmp内存转储文件,包含h、lib和dbghelp.dll文件,仅供参考。

    用vc++6.0生成的zlib.lib和zlib.dll文件

    发现很多朋友不知道怎么生成zlib的lib文件和dll文件,这里给大家提供方便哈,但分还是必须要给的,我也是弄了一天才搞出来的,算是辛苦费吧,呵呵

    VC++ DLL深入浅出完全讲义

    静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”...

    DLL动态加载 生成窗口的方法

    因为要用到扩展MFC导出dll类型,来导出窗口类,但是这样的话,必须用静态加载lib文件方式来实现。降低了灵活性。因为有可能某个窗口还在开发中,而其他的可以用,这时我们想让能用的跑起来,这时,需要动态加载dll...

    VC++2010调用matlab产生的dll文件

    该程序包含利用matlab产生的dll文件,.h文件,.lib文件,以及利用VC++调用dll文件的源程序

    Lib 文件生成器 (DLL2Lib)

    VC++ 和 C++Builder 的链接器在链接 DLL 时需要导入库(Import Library),在有些情况下,只能得到 DLL 文件,而没有导入库文件(比如用 Delphi 开发的 DLL),使用这个工具可以方便的生成 DLL 对应的导入库和模块定义...

    如何用VC++创建及调用DLL

    在将C++生成的DLL供标准C语言使用,输出文件需要用“extern "C"”修饰,否则不能被标准C语言调用。如果使用“__stdcall”调用方式,可能产生C不识别的修饰名,所以设置导出函数时要采用.def文件形式,而不是__...

    Dll2Lib.exe

    VC++ 和 C++Builder 的链接器在链接 DLL 时需要导入库(Import Library),在有些情况下,只能得到 DLL 文件,而没有导入库文件(比 如用 Delphi 开发的 DLL),使用这个工具可以方便的生成 DLL 对应的 导入库和模块...

    VC++ 获取键盘输入信息(Dll源码+实例)

    VC++获取键盘输入信息,本程序由两部分构成,一个是所用Dll的源码,另外一个则是实例,实例要调用编译生成的Dll文件,因此测试前应先编译LaunchDLL,然后把LaunchDLL.h和LaunchDLL.lib复制到KeyHook工程目录中,...

    VC工程演示对sqlite数据库的操作,包含SQLite3文件!

    SQLite官方下载只提供给我们一个sqlite3.dll跟一个sqlite3.def文件,并没有提供用于VC++6.0的lib文件,可以利用sqlite3.def文件生成(此文档已生成了,可以直接使用),步骤如下: 1.将sqlite3.h(D:\sqlite-...

    VC++动态链接库(dll)编程深入浅出-----PDF和源码

     静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态...

    VC++实现两个进程间的通信--DLL

    本代码可以实现两个应用软件之间的通讯,包括发送和接收数据,附有源代码和使用说明,已成功生成DLL文件和lib文件(在Debug文件夹中)

    vc++ 应用源码包_3

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

    VC++动态链接库(DLL)编程深入浅出

     静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态...

    VC++动态链接库(dll)编程深入浅出PDF

    静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”...

    自己编译的C++ 网络库 cpr 1.3.0 windows dll文件 gcc编译 x64

    自己编译的C++ 网络库 cpr 1.3.0 windows dll文件。压缩包内包含libcurl.dll和libcpr.dll和头文件,直接加到项目目录里面即可使用(动态链接)。Cpr是一个简单好用Http访问开源库,它是对Curl库进行第二次封装,所以...

    vc++ 应用源码包_1

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

    vc++ 应用源码包_6

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

    VC++6.0编译器参数

    VC++6.0编译器参数 ____VC的处理流程,大致分为两步:编译和连接。源文件通过编译生成了.obj文件;所有.obj文件和.lib文件通过连接生成.exe文件或.dll文件。

Global site tag (gtag.js) - Google Analytics