首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cmake将log4cpp库链接到项目

使用cmake将log4cpp库链接到项目
EN

Stack Overflow用户
提问于 2012-05-14 17:37:42
回答 1查看 3.9K关注 0票数 1

我正在尝试将log4cpp链接到我的项目。我使用CMake,但我想不出一种方法。

Log4cpp安装在项目文件夹/log4cpp/上(使用bin/ include/ lib/ ...在其中)

我使用以下Findlog4cpp.cmake:

代码语言:javascript
复制
IF (LOG4CPP_FOUND)
    SET(LOG4CPP_FIND_QUIETLY TRUE)
ENDIF (LOG4CPP_FOUND)

FIND_PATH(LOG4CPP_INCLUDE_DIR log4cpp/FileAppender.hh
    "./log4cpp/include/"
)

FIND_LIBRARY(LOG4CPP_LIBRARIES
  NAMES liblog4cpp.so
  PATHS "./log4cpp/lib"
)

SET(LOG4CPP_FOUND 0)
IF(LOG4CPP_INCLUDE_DIR)
  IF(LOG4CPP_LIBRARIES)
    SET(LOG4CPP_FOUND 1 CACHE INTERNAL "log4cpp found")
    IF (NOT LOG4CPP_FIND_QUIETLY)
      MESSAGE(STATUS "Found Log4CPP")
    ENDIF (NOT LOG4CPP_FIND_QUIETLY)
  ENDIF(LOG4CPP_LIBRARIES)
ENDIF(LOG4CPP_INCLUDE_DIR)

MARK_AS_ADVANCED(
  LOG4CPP_INCLUDE_DIR
  LOG4CPP_LIBRARIES
) 

在我的CMakeLists.txt中,我称之为:

代码语言:javascript
复制
...
FIND_PACKAGE(log4cpp REQUIRED)
INCLUDE_DIRECTORIES(${LOG4CPP_INCLUDE_DIR})
SET(LIBS ${LOG4CPP_LIBRARIES} ${LIBS})

MESSAGE("############################# ${LOG4CPP_LIBRARIES}")
MESSAGE("############################# ${LOG4CPP_INCLUDE_DIR}")
...

输出:

代码语言:javascript
复制
-- Found Log4CPP
############################# /SOMEPATH/projectfolder/log4cpp/lib/liblog4cpp.so
############################# /SOMEPATH/projectfolder/log4cpp/include
-- Configuring done
-- Generating done
-- Build files have been written to: /SOMEPATH/projectfolder/

然后,当我运行make时,我会出现以下错误:

代码语言:javascript
复制
/SOMEPATH/projectfolder/common/Common.h:24:31: error: log4cpp/Category.hh: No such file or directory
/SOMEPATH/projectfolder/common/Common.h:25:35: error: log4cpp/FileAppender.hh: No such file or directory
/SOMEPATH/projectfolder/common/Common.h:26:34: error: log4cpp/BasicLayout.hh: No such file or directory

我只是在common.h中包含了头文件( #include "log4cpp/xxx.hh“)

我补充说,在没有log4cpp的情况下,所有的构建和编译工作都很好(使用cmake,然后使用make

任何帮助都将不胜感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-14 19:23:49

如果要将公共目录添加为具有自己的CMakeLists.txt的子目录,如果希望将已包含的目录传递下去,则需要在调用ADD_SUBDIRECTORY之前调用INCLUDE_DIRECTORIES

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10580789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档