Qmake标题库

时间:2015-11-24 11:48:24

标签: c++ qt-creator qmake

我使用" Subdirs"创建qmake项目。模板,头库和测试控制台应用程序。

Main.pro

TEMPLATE = subdirs

CONFIG -= app_bundle
CONFIG -= qt
CONFIG += ordered

SUBDIRS += tests Config

Config.pro

HEADERS +=  \
Reader.h \
Builder.h\
Store.h\
Setter.h

tests.pro

HEADERS += \
CheckConfig.h \
CheckReader.h \
JsonGenerator.h \
Setter.h

SOURCES += \
CheckReader.cpp \
JsonGenerator.cpp \
main.cpp \
Setter.cpp

#my util functions and vars
include(../common/settings.pri)
include(../common/common.pri)

#generate application config
ConsoleApplication(test)
#enable flags for exports libs in depends.pri file
EnableModuleExport()
include(../Config/depends.pri)
#setup includepath for Config library
SetHeadersPath(../)

qmake为项目Config.pro生成makefile,在使用gcc运行构建之后,我有错误。没关系,因为我没有询问构建目标,也没有函数main()。必须禁用为qmake生成Makefile,或生成没有构建目标的makefile。

我将项目Config作为假静态库,但它不是最好的解决方案

3 个答案:

答案 0 :(得分:0)

在Headear-only库中需要使用require(false)

route()

答案 1 :(得分:0)

@Kopysov Evgeniy
require(false)也会阻止安装目标运行!仅标头库仍需要安装。

答案 2 :(得分:0)

注释系统不适用于我,因此需要以下几行:

TEMPLATE=lib
LIB=dummy
HEADERS=...
headers.files=$$HEADERS
headers.path=$$PREFIX/include
INSTALLS+=headers