paip.c++ qt 共享库dll的建立

作者Attilax ,  EMAIL:1466519819@qq.com 
来源:attilax的专栏
地址:http://blog.csdn.net/attilax

我用qtc 2.8.1 +  xpsp2

第一,建立一个lib型项目
-------------------------

我们会看到 QtCreator 已经帮我们创建好了一些文件。其中有一个 {projectName}_global.h 的文件是 QtCreator 替我们创建的。下面我们就从这个 {projectName}_global.h 开始:

#ifndef LIB_GLOBAL_H     
#define LIB_GLOBAL_H     
#include <QtCore/qglobal.h>      
#if defined(LIB_LIBRARY)     
#  define LIBSHARED_EXPORT Q_DECL_EXPORT     
#else     
#define LIBSHARED_EXPORT Q_DECL_IMPORT    
#endif     
#endif // LIB_GLOBAL_H   
这个文件中只是定义了两个宏 LIBSHARED_EXPORT,注意这里的 LIB 就是我的工程名字。

2.增添一个新类helo...qt会自动生成helo.h以及helo.cpp
--------------------------------------------------------
修改helo.cpp,增加一个方法...
QString helo::methodc94halo()
{
    return "halo attilax c918";
}
当然,helo.h也要声明一下..
a.因为使用了qstring,同时导入QMainWindow
b.同时在头文件中,使用了 {projectName}SHARED_EXPORT 这个宏。你可以简单的把它理解成,我需要把这个类导出。所谓导出,就是将其编译成一个 dll 文件之后,其他的类可以使用这个导出类。SHARED_EXPORT 这个宏需要导入libc9_global.h...

#ifndef HELO_H
#define HELO_H
 #include <QMainWindow>
#include "libc9_global.h"
class LIBC9SHARED_EXPORT   helo
{
public:
    helo();
     QString  methodc94halo();
};

#endif // HELO_H

3.编译为dll
-------------

参考:
解析 QT 静态库和动态库 - 51CTO.COM.htm
Qt创建和使用动态链接库 - 奋斗的小Q - 博客频道 - CSDN.NET.htm

paip.c++ qt 共享库dll的建立相关推荐

  1. Qt之创建并使用共享库

    简述 在 Windows 中,有动态链接库(DLL - Dynamic Link Library):在 Linux 中,有共享库(Shared Library),它们是相同的! 由于平台和编译器的差异 ...

  2. Qt文档阅读笔记-共享库的创建与调用

    使用共享库的符号 这个符号可以作用在变量.类.函数中,并且这些都可以被调用端使用. 在编译共享库中,需要使用export符号.在使用端调用的时候使用import符号. 这里是本人从文档中记录的笔记,大 ...

  3. Qt调用Matlab库C#库dll调用C++调用C#库CSharp库lib invoke matlab library .net donet netframework

    Qt调用Matlab库C#库dll调用C++调用C#库CSharp库lib invoke matlab library .net donet netframework 该文章是一篇说明c++/Qt调用 ...

  4. 【读书笔记】【程序员的自我修养 -- 链接、装载与库(二)】进程虚拟地址空间、装载与动态链接、GOT、全局符号表、共享库的组织、DLL、C++与动态链接

    文章目录 前言 介绍 可执行文件的装载与进程 进程虚拟地址空间 装载方式 操作系统对可执行文件的装载 进程虚存空间分布 ELF文件的链接视图和执行视图 堆和栈 Linux 内核装载ELF & ...

  5. C++将带ui界面的qt工程封装为动态库dll

    C++将带ui界面的qt工程封装为动态库dll 功能如下 完整源代码实现如下 功能如下 将工程封装后可以在别的工程下直接引用该界面,以及该界面的函数, 完整源代码实现如下 #ifndef BUILD_ ...

  6. QT--以共享的方式发布应用,QT依赖库

    Building Qt as a Shared Library 因为:QT基本上都是采用动态编译的(被安装的OS中的),(如安装包往往都是默认动态编译处理好的动态库),所以我们采用动态连接的方式进行发 ...

  7. matlab运行mex文件出错“mtimesx.mexw64无效: 缺少依赖共享库VCOMP100.DLL”

    最近重新安装系统后运行目标跟踪代码,意外发现出错,显示如下: 百度看了一下,VCOMP100.DLL好像是window安装缺少的共享库,和matlab没关系,所以就尝试解决,主要有两种方法: 方法一: ...

  8. NDK建立多个共享库

    多个共享的库能够有一个android.mk文件产生. LOCAL_PATH := $(call my-dir) # # Module 1 # include $(CLEAR_VARS) LOCAL_M ...

  9. Qt动态库静态库的创建、使用、多级库依赖、动态库改成静态库等详细说明

    本文描述的是windows系统下,通过qtcreator在pro文件中添加动态库与静态库的方法: 1.添加动态库(直接添加动态库文件.dll,非子项目) 通过qtcreator创建动态库的方法就不在此 ...

  10. Qt 中使用dll文件的舒服用法 generateDocumentation()函数 乱码解决

    文章目录 dynamicall 调用方法 dumpcpp反向编译方法 dumpcpp 生成.h .cpp 使用 对dll文件生成API文档 generateDocumentation()函数 乱码解决 ...

最新文章

  1. Mysql中(@i:=@i+1)的作用
  2. Axure经典案例高保真下载(智慧水务、智慧泵房、水厂监控、营收管理、DMA漏损、维护管理、档案管理、仓库管理、水质监控、数据中心、调度指挥中心)
  3. WordPress资源站点推荐
  4. 16. 页框回收 2010-02-28 22:56 591人阅读 评论(0) 收藏...
  5. Docker安装Jenkins教程
  6. c语言json数据解析,C语言库函数解析JSON文件
  7. c语言有flag的程序,c语言flag(编程flag的用法)
  8. 武汉有哪些牛逼的互联网公司?
  9. 【2023秋招】10月22日美团校招真题
  10. 计算机语言lc-3,GBT 15969.3-2005 可编程序控制器 第3部分 编程语言.pdf-全文可读
  11. [灯哥开源—四足机器人]程序算法讲解与STM32移植——运行框架(两个主线程)
  12. Spark学习笔记1(初始spark
  13. 计算机科学编辑部态度,计算机科学期刊介绍--各种杂志投稿方式与评价(转)...
  14. itext转html为pdf 锚点,flying saucer html转pdf经验分享
  15. 2022年小游戏----游戏背包系统之自定义填充背包和切换背包页面
  16. 马斯克:特斯拉正研发“世界上最好”的AI硬件
  17. 百度贴吧测试部门实习生电话面试
  18. 【学习记录】图片局部放大
  19. 软件测试工程师和WGT,三坐标和齿轮测量中心测齿轮的区别
  20. 用计算机处理图像属于啥技术,计算机图像处理技术

热门文章

  1. 关于合格工程师素养的一些思考
  2. SCVMM2012R2 服务模版系列(一)包含SQL实例的单层服务模版
  3. 《2017微信春节数据报告》出炉 初一到初五微信红包收发总量达到460亿个
  4. 新起点、新目标--获得MVP后的感悟
  5. Windows 7的上帝模式
  6. vscode源码分析【一】从源码运行vscode
  7. Creator性能优化
  8. 第4节 常见软件安装-Mysql和SQLyog
  9. 移动端 短信发送,一键拨号功能
  10. 深入理解计算机系统总结