Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
Qt C++为静态库创建“全局头”_C++_Qt_Static Libraries - Fatal编程技术网

Qt C++为静态库创建“全局头”

Qt C++为静态库创建“全局头”,c++,qt,static-libraries,C++,Qt,Static Libraries,我使用以下结构创建了一个静态库: QT -= gui TARGET = Test TEMPLATE = lib CONFIG += staticlib SOURCES += test.cpp HEADERS += test.h unix { target.path = /usr/lib INSTALLS += target } 我知道我还必须在项目的.pro文件中包含这些行 LIBS += -L$$PWD/libs/ -lTest INCLUDEPATH +=

我使用以下结构创建了一个静态库:

QT       -= gui

TARGET = Test
TEMPLATE = lib
CONFIG += staticlib

SOURCES += test.cpp 

HEADERS += test.h 

unix {
  target.path = /usr/lib
  INSTALLS += target
}
我知道我还必须在项目的.pro文件中包含这些行

LIBS += -L$$PWD/libs/ -lTest
INCLUDEPATH += $$PWD/libs
然后是标题

#include "test.h"
我的问题是:如果我必须向库中添加多个源文件,如:

SOURCES += test.cpp \
           control.cpp
HEADERS += test.h \
           control.h
如何创建一个全局头文件导入到我的项目中,并将其放入INCLUDEPATH目录和control.h头中

我的意思是:可以在生成的lib中包含一个只包含其他头文件的头文件


谢谢,

< p>可以在qtC造饰器文件>新建文件> C++ +> C++头文件中创建任意自定义头文件,然后.pro将包含在头文件中,并且可以将任何包含在其中的内容包含进来。 然而,在我看来,将所有的.h都包含在一个中是一种非常糟糕的做法。这不仅是因为编译时间,当你有大量的类,而且因为当类有循环引用,你会被绊倒,这是我认为不做你想做的事情的主要原因


我的2美分。

在你的库中添加一个只包含包含其他文件的include的.h文件怎么样?是的,但当我包含该标题时,创建者抱怨该文件中的其他标题它在抱怨中说了什么?