首页 文章

Qmake Headers Library

提问于
浏览
0

我使用“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

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

    HEADERS += <your headers files>
    #needed in QtCreator for correct display "#include" directives
    INCLUDEPATH += <your deps> 
    requires(false) #disable building
    
  • 0

    @Kopysov Evgeniy
    要求(false)阻止安装目标也运行!仍然需要安装仅头文件库 .

  • 0

    评论系统对我不起作用,因此需要以下几行:

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

相关问题