sharedlib.h 内容如下: #ifndef SHAREDLIB_H #define SHAREDLIB_H #include "sharedlib_global.h" SHAREDLIBSHARED_EXPORT int subtract(int x, int y); class SHAREDLIBSHARED_EXPORT SharedLib public: SharedLib(); int add(int x, int y); }; #endif // SHAREDLIB_H ...
MYSAHREDLIBSHARED_EXPORT符号用于替换Qt的Q_DECL_EXPORT宏或Q_DECL_IMPORT宏(一个共享库导出给用户使用的类、符号、函数等都需要用宏Q_DECL_EXPORT来定义导出,一个使用共享库的应用程序都需要通过Q_DECL_IMPORT导入共享库里的可用对象) #include <QtCore/qglobal.h> #if defined(MYSAHREDLIB_LIBRARY) # define...
新建文件或项目->选择 Library 和 c++ 库->选择共享库->下一步(工程名为 sharedlib) 生成的目录结构如图: 修改sharedlib.h 中的代码: // sharedlib.h#ifndef SHAREDLIB_H #define SHAREDLIB_H#include "sharedlib_global.h" class SHAREDLIBSHARED_EXPORT Sharedlib// 导出类, 客户端可直接加载{ public: ...
SHAREDLIBRARYSHARED_EXPORT SharedLibrary* getSharedLibrary(); //获取类SharedLibrary对象 SHAREDLIBRARYSHARED_EXPORT int add(int a, int b); //自定义的外部函数 } #endif // SHAREDLIBRARY_Hsharedlibrary.cpp: #include "sharedlibrary.h" #include <QPushButton> #include <QMessageBox> #include <QTim...
#ifdef MYDLL_DLL_EXPORT #define MYDLL_DLL_API __declspec(dllexport) //导出 #else #define MYDLL_DLL_API __declspec(dllimport) //导入 #endif #include "mydll_global.h" #if 0 class MYDLLSHARED_EXPORT mydll { public: mydll();
# define DLLSHARED_EXPORT Q_DECL_IMPORT #endif #endif // DLL_GLOBAL_H dll.h代码为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #ifndef DLL_H #define DLL_H #include <string> #include "dll_global.h" usingnamespacestd; ...
void updateBackground(); int subtract(int a, int b); private slots: void onClicked(); }; extern "C" { SHAREDLIBRARYSHARED_EXPORT SharedLibrary* getSharedLibrary(); //获取类SharedLibrary对象 SHAREDLIBRARYSHARED_EXPORT int add(int a, int b); //自定义的外部函数 } #endif // SHAREDLIBRAR...
头文件:在方法声明时,前面加上__declspec(dllimport),也可用#define定义,看代码://为了和将来用到的程序中公用一个头文件,创建dll时用到的是__declspec(dllexport),而使用dll时用到__declspec(dllimport),完全可以各自写一下#defineTESTDLLSHARED_EXPORT__declspec(dllexport)#ifdefTESTDLLSHARED_EXPORT#else#define...
如果定义了 LIB_LIBRARY,LIBSHARED_EXPORT 定义为 Q_DECL_EXPORT,否则定义为 Q_DECL_IMPORT。看这个名字,就知道这就是把对象导出的语句了。下面我们来编写一个窗口(如果你希望这么做,不要忘记在创建工程时勾选 QtGui 模块,默认是不勾选的): lib.h
这里什么也没做只是把SLDSHARED_EXPORT加上了 好了就这样,我们构建一下就会在MyDebug文件夹里生成我们的dll 2.怎么使用动态链接库 新建一个Qt WidgetsApplication项目 在.pro文件里修改和上边一样加上 DESTDIR =..\MyDebug 再点击项目把shadow build 去掉 ...