您的位置:首页 > 编程语言 > C语言/C++

导出C++ dll文件

2013-11-26 20:50 246 查看
方法1.

直接新建 Qt dll library, 使用工程自动创建的宏定义

方法2.

(1)新建一个Empty的Win32项目(如ExampleDLL),选择Application type 为DLL,



2. 添加要导出的类(如ExampleClass), 并在该类中添加导出/导入宏定义(如 EXAMPLECLASS_LIB 和 EXAMPLE_EXPORT)

#pragma once

#ifdef EXAMPLECLASS_LIB
# define EXAMPLE_EXPORT __declspec(dllexport)
#else
# define EXAMPLE_EXPORT __declspec(dllimport)
#endif

class EXAMPLE_EXPORT ExampleClass
{
public:
ExampleClass(void);
~ExampleClass(void);
};


3. 若在第2步直接编译,可以编译通过,但会有warning: inconsistent dll linkage

这是因为 若没有在Project->Properties->c/C++->PreProcessor->PreProcessor Definitions 中添加 EXAMPLECLASS_LIB 声明, (2)中将使用 EXPORTDLL_EXPORT __declspec(dllimport) , 表示该项目是导入了 ExampleClass 类,而不是导出该类的dll。故:



修改后即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: