【Qt】创建不依赖QT自身头文件包含的动态库
在使用Qt创建动态库的过程中,里面有2个头文件,一个是依赖关系的头文件,里面包含QtCore/qglobal.h;另一个是自己生成类的头文件,此头文件又包含前一个头文件。有时候,我们本身并不需要库与Qt建立联系,那么我们怎么做了?且看下面!
执行过程
1、比如你创建的库其中包含的类叫:People,那么按照Qt的c++生成动态库模版,将会生成:people.h、people_global.h、people.cpp这三个文件;
2、接下来,我们需要删除people_global.h这个文件,然后在people.h里面删除对people_global.h的包含语句;
3、然后在people.h里面添加:
#if defined(PEOPLE_LIBRARY)
# define PEOPLE_EXPORT __declspec(dllexport)
#else
# define PEOPLE_EXPORT __declspec(dllexport)
#endif
4、再下来,在people.h这个头文件中People这个类的定义前添加PEOPLE_EXPORT宏。如同这样:
class PEOPLE_EXPORT People
{
};
这样基本上就完成了,下来就是你对类的具体方法、属性等的添加。这样,如果你的库本身与Qt无关联,那么将xxx.h、xxx.lib、xxx.dll复制到其他的编辑器里面,也是完全可以调用,不必再与Qt纠缠不清。当然,如果你的库本身就是依赖Qt而编写,那么你使用Qt的动态库模板就行了,都是Qt都是自家人么!好吧,本次博客暂时更新这些!