paip.c++ qt 共享库dll的建立
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的建立相关推荐
- Qt之创建并使用共享库
简述 在 Windows 中,有动态链接库(DLL - Dynamic Link Library):在 Linux 中,有共享库(Shared Library),它们是相同的! 由于平台和编译器的差异 ...
- Qt文档阅读笔记-共享库的创建与调用
使用共享库的符号 这个符号可以作用在变量.类.函数中,并且这些都可以被调用端使用. 在编译共享库中,需要使用export符号.在使用端调用的时候使用import符号. 这里是本人从文档中记录的笔记,大 ...
- 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调用 ...
- 【读书笔记】【程序员的自我修养 -- 链接、装载与库(二)】进程虚拟地址空间、装载与动态链接、GOT、全局符号表、共享库的组织、DLL、C++与动态链接
文章目录 前言 介绍 可执行文件的装载与进程 进程虚拟地址空间 装载方式 操作系统对可执行文件的装载 进程虚存空间分布 ELF文件的链接视图和执行视图 堆和栈 Linux 内核装载ELF & ...
- C++将带ui界面的qt工程封装为动态库dll
C++将带ui界面的qt工程封装为动态库dll 功能如下 完整源代码实现如下 功能如下 将工程封装后可以在别的工程下直接引用该界面,以及该界面的函数, 完整源代码实现如下 #ifndef BUILD_ ...
- QT--以共享的方式发布应用,QT依赖库
Building Qt as a Shared Library 因为:QT基本上都是采用动态编译的(被安装的OS中的),(如安装包往往都是默认动态编译处理好的动态库),所以我们采用动态连接的方式进行发 ...
- matlab运行mex文件出错“mtimesx.mexw64无效: 缺少依赖共享库VCOMP100.DLL”
最近重新安装系统后运行目标跟踪代码,意外发现出错,显示如下: 百度看了一下,VCOMP100.DLL好像是window安装缺少的共享库,和matlab没关系,所以就尝试解决,主要有两种方法: 方法一: ...
- NDK建立多个共享库
多个共享的库能够有一个android.mk文件产生. LOCAL_PATH := $(call my-dir) # # Module 1 # include $(CLEAR_VARS) LOCAL_M ...
- Qt动态库静态库的创建、使用、多级库依赖、动态库改成静态库等详细说明
本文描述的是windows系统下,通过qtcreator在pro文件中添加动态库与静态库的方法: 1.添加动态库(直接添加动态库文件.dll,非子项目) 通过qtcreator创建动态库的方法就不在此 ...
- Qt 中使用dll文件的舒服用法 generateDocumentation()函数 乱码解决
文章目录 dynamicall 调用方法 dumpcpp反向编译方法 dumpcpp 生成.h .cpp 使用 对dll文件生成API文档 generateDocumentation()函数 乱码解决 ...
最新文章
- Mysql中(@i:=@i+1)的作用
- Axure经典案例高保真下载(智慧水务、智慧泵房、水厂监控、营收管理、DMA漏损、维护管理、档案管理、仓库管理、水质监控、数据中心、调度指挥中心)
- WordPress资源站点推荐
- 16. 页框回收 2010-02-28 22:56 591人阅读 评论(0) 收藏...
- Docker安装Jenkins教程
- c语言json数据解析,C语言库函数解析JSON文件
- c语言有flag的程序,c语言flag(编程flag的用法)
- 武汉有哪些牛逼的互联网公司?
- 【2023秋招】10月22日美团校招真题
- 计算机语言lc-3,GBT 15969.3-2005 可编程序控制器 第3部分 编程语言.pdf-全文可读
- [灯哥开源—四足机器人]程序算法讲解与STM32移植——运行框架(两个主线程)
- Spark学习笔记1(初始spark
- 计算机科学编辑部态度,计算机科学期刊介绍--各种杂志投稿方式与评价(转)...
- itext转html为pdf 锚点,flying saucer html转pdf经验分享
- 2022年小游戏----游戏背包系统之自定义填充背包和切换背包页面
- 马斯克:特斯拉正研发“世界上最好”的AI硬件
- 百度贴吧测试部门实习生电话面试
- 【学习记录】图片局部放大
- 软件测试工程师和WGT,三坐标和齿轮测量中心测齿轮的区别
- 用计算机处理图像属于啥技术,计算机图像处理技术