我使用" 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作为假静态库,但它不是最好的解决方案
答案 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