zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    程序员这生必须掌握的两种图形
    用一张组织架构图说清楚类和对象
    简单工厂、工厂方法、抽象工厂的比较与分析
    rabbitmq系列(一)初识rabbitmq
    【最新】经典面试100问,附答案
    使用wordPress搭建个人博客
    调试接口你还在用postman吗
    Token ,Cookie、Session傻傻分不清楚?
    你不可不知的自定义注解
    使用aop加解密http接口
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3329125.html
Copyright © 2011-2022 走看看