Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 创建自定义QT库_C++_Visual Studio_Qt_Qt4 - Fatal编程技术网

C++ 创建自定义QT库

C++ 创建自定义QT库,c++,visual-studio,qt,qt4,C++,Visual Studio,Qt,Qt4,我使用VS2005创建了一个静态Qt库 除了预期的文件(test.h和test.cpp)之外,它还创建了一个额外的文件“test_global.h” 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_

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

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

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
\ifndef测试\u全局\u H
#定义测试\u全局\u H
#包括
#ifdef测试库
#定义测试导出Q_DECL_导出
#否则
#定义测试导出Q_DECL_导入
#恩迪夫
#endif//TEST\u GLOBAL\u H
为什么要生成这个文件,我想如何使用它

谢谢。

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

class TEST_EXPORT TestClass {
    // ...
};
然后在library pro文件中添加:

DEFINES += TEST_LIB
因此,在dll编译期间,您的类头将有“Q_DECL_EXPORT”宏,这是告诉链接器“EXPORT this class/method”的Qt方式,当您在某些应用程序中使用dll时,头将有“Q_DECL_IMPORT”宏

有关详细信息,请查看。

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

class TEST_EXPORT TestClass {
    // ...
};
然后在library pro文件中添加:

DEFINES += TEST_LIB
因此,在dll编译期间,您的类头将有“Q_DECL_EXPORT”宏,这是告诉链接器“EXPORT this class/method”的Qt方式,当您在某些应用程序中使用dll时,头将有“Q_DECL_IMPORT”宏


有关更多信息,请检查。

1-)我是否需要在每个符号前面加上“TEST\u EXPORT”,或者范围是否存在?2-)我是否需要将“测试导出”放在客户端未使用的类前面?Ad.1。如果要导出类中的每个符号,请将TEST_export放在类名前面。如果您只想导出一些符号,不要将TEST_export放在类的前面,而是将TEST_export放在每个导出符号的前面。公元2年。否1-)我是否需要在每个符号前面加上“TEST_EXPORT”,或者范围是否存在?2-)我是否需要将“测试导出”放在客户端未使用的类前面?Ad.1。如果要导出类中的每个符号,请将TEST_export放在类名前面。如果您只想导出一些符号,不要将TEST_export放在类的前面,而是将TEST_export放在每个导出符号的前面。公元2年。不