创建自定义QT库

时间:2010-05-04 06:29:20

标签: c++ visual-studio qt qt4

我使用VS2005创建了一个静态Qt库。

它创建了一个额外的文件“test_global.h”,除了预期的文件(test.h和test.cpp)。

test_global.h

#ifndef TEST_GLOBAL_H
#define TEST_GLOBAL_H

#include <Qt/qglobal.h>

#ifdef TEST_LIB
# define TEST_EXPORT Q_DECL_EXPORT
#else
# define TEST_EXPORT Q_DECL_IMPORT
#endif

#endif // TEST_GLOBAL_H

为什么要生成此文件,我想如何使用它?

感谢。

1 个答案:

答案 0 :(得分:3)

您将类(或方法)标记为在库标题中导出:

class TEST_EXPORT TestClass {
    // ...
};

然后在你的库专业文件中添加:

DEFINES += TEST_LIB

因此在dll编译期间,您的类头将具有“Q_DECL_EXPORT”宏,这是告诉链接器“导出此类/方法”的Qt方式,并且当您在某些应用程序中使用dll时,标头将具有“Q_DECL_IMPORT”宏。

有关详细信息,请查看Qt documentation