图解如何使用VS2010和Qt导出和使用静态库,动态库

原创 2011年03月01日 21:05:00

首先使用VS2010来导出一个DLL,该DLL种含有一个类,新建项目,如下图

然后看资源管理器,在DLL导出类中添加要导出的函数或者类

编辑要导出的类或者函数,如下:

编译后生成DLL,名字就是工程名 "ClassDll.dll"

然后新建一个工程,调用该dll,代码如下:

当然,如果是给别人用的话,要提供给他一个头文件

extern "C"是导出标准的C程序代码

 

也许你并不满足于导出一个函数,你也许想导出一个类,这样更方便,下面来讲解怎么样导出一个类

第一步 还是一样的,创建工程,将要导出的类如下写

 

然后你需要的是给调用者提供一个头文件,非常简单如下

 

然后把ClassDll.dll和ClassDll.lib文件拷贝到工程目录下面,在main.cpp中加上这样一句预处理

#pragma comment(lib,"ClassDll.lib")

lib文件时dll文件的入口导入文件

main函数如下

 

这是创建动态链接库的方法,创建静态链接库的方法是大同小异,省略。。。

 

下面说QT来创建和调用DLL或者静态链接库.a文件的方法,我想要比VS方便多了

创建导出类的DLL

第一步,创建工程

点击choose后,出现如下

然后看看它的.pro文件,如下

然后直接编辑类对应的.h和.cpp文件就OK了,我们创建导出类,叫MyShareLibrary,他有一个简单的函数,如下

编译就可以创建出dll,但是没有创建出来.lib文件,相反创建了一个.a文件,不过在QT里面调用dll方便的多,不用那么复杂,首先来调用一个导出的类

创建一个工程,在他的.pro工程文件中添加它所要调用的dll,如下

为他提供一个类的头文件,然后再要调用的地方如下调用

 

如果要在QT中调用一个导出的C函数呢,那么我们可以使用QLibrary类来完成,如下,我们来调用在VS中创建的导出C函数SubFunc(int,int)

 

如果要创建静态链接库,那么就在创建工程时候选择static library,他的工程文件有点不同

如下

划线那条是我最后加上去的,这样也可以同时生成dll文件,而当我们使用.a静态链接库的时候,就要在.pro文件中添加上它要链接的库文件,加上如下这句

 

 

好了,差不多写到这里!




查看源代码示例

查看源代码示例

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Qt动态库的生成和使用

编译成动态库 打开工程文件.pro TEMPLATE = lib TARGET = configwifi SOURCES删除main.cpp make clean make 生成.so文...

VS2010下Qt导出动态库的编写

详细介绍Qt中动态链接库的使用

qt和VS动态库调用心得

1 动态库调用 1.1 QT动态库调用 1.1.1 创建一个动态链接库步骤 1)create C++类库 2).pro文件里增加路径DESTDIR= ..\MyDebug 3)编译 注:主要的不同,两...

qt creator调用vs编译的c的lib库

第一步:使用vs构建c的lib动态库 用vs新建一个c++的空白项目demo,配置类型设置为“动态库(.dll)” demo.h内容如下: #ifndef DEMO_H #define DEMO...

qt和VS动态库调用心得

1 动态库调用 1.1 QT动态库调用 1.1.1 创建一个动态链接库步骤 1)create C++类库 2).pro文件里增加路径DESTDIR= ..\MyDebug 3)编译 注:主要的不同,两...

详解 Qt 下 QLibrary 动态加载 dll

Qt 下 QLibrary 动态加载 dll是本文要介绍的内容,先来配置环境,测试平台:Windows XP Sp3 + Qt 4.5 + Compaq Visual Fortran Version ...
  • evense
  • evense
  • 2014年01月21日 21:16
  • 2136

图解如何使用VS2010和Qt导出和使用静态库,动态库

首先使用VS2010来导出一个DLL,该DLL种含有一个类,新建项目,如下图 然后看资源管理器,在DLL导出类中添加要导出的函数或者类 编辑要导出的类或者函数,如下: 编译后生成DL...

图解如何使用VS2010和Qt导出和使用静态库,动态库

作者:seanyxie |  时间:2014-03-07 |  浏览:572 |  1 条评论 首先使用VS2010来导出一个DLL,该DLL种含有一个类,新建项目,如下图 ...
  • xlzhu87
  • xlzhu87
  • 2014年09月05日 17:53
  • 263

使用vs2010生成和使用动态库和静态库

动态库: 包含.dll、.lib、.h三个文件,动态链接库是一个可执行的模块,不能单独运行,需要应用程序调用才能使用,通常封装了函数的集合,仅在程序运行的时候才去查。.lib文件提供调用函数的位置信...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:图解如何使用VS2010和Qt导出和使用静态库,动态库
举报原因:
原因补充:

(最多只允许输入30个字)