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

本文详细介绍如何使用Qt Creator创建并编译C++ Qt共享库DLL。通过具体步骤,包括项目配置、宏定义及类导出等,帮助读者掌握DLL构建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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

作者Attilax ,  EMAIL:1466519819@qq.com 
来源:attilax的专栏
地址:http://blog.youkuaiyun.com/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 - 博客频道 - youkuaiyun.com.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值