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

时间:2015-09-03 13:17:05

标签: 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 += $$PWD/libs

然后是标题。

#include "test.h"

我的问题是:如果我必须在库中添加多个源文件,如:

SOURCES += test.cpp \
           control.cpp
HEADERS += test.h \
           control.h

如何创建一个全局头文件以便在我的项目中导入(实际上还要放入INCLUDEPATH目录中的control.h标题?

我的意思是:可以将生成的lib(.a)一起包含在一个包含其他标题的头文件中吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以在QtCreator中创建任何自定义头文件(文件 - >新文件 - > C ++ - > C ++头文件),然后您的.pro将其包含在HEADERS中,您可以将任何#include包含在其中它

但是在我看来,将所有.h仅包含在一个中是非常糟糕的做法。不仅因为你有很多课程的编译时间,而且因为当课程有循环引用时,你会被卡住(这是我认为不做你所做的事情的主要原因)。重新尝试)。

我的2美分。