You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CMake下载easylogging++并直接使用其源码文件?

使用CMake下载并集成easylogging++到你的项目

你已经有了一个很好的起点,我来帮你完善这个CMake配置,确保easylogging++的源文件能被正确下载、提取并集成到你的项目中:

# 首先引入ExternalProject模块,这是使用ExternalProject_Add的前提
include(ExternalProject)

# 定义easylogging++的下载与文件提取逻辑
ExternalProject_Add(
    easyloggingpp
    PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/downloads
    URL https://github.com/muflihun/easyloggingpp/archive/v9.96.4.tar.gz
    # 跳过官方安装流程,我们自行处理文件复制
    INSTALL_COMMAND ""
    # 下载解压完成后,将需要的源文件复制到指定目录
    POST_BUILD_COMMAND
        mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/external/easyloggingpp &&
        cp ${CMAKE_CURRENT_SOURCE_DIR}/downloads/src/easyloggingpp-9.96.4/src/* ${CMAKE_CURRENT_BINARY_DIR}/external/easyloggingpp/
)

# 添加头文件搜索路径,让项目能找到easylogging++.h
include_directories(${CMAKE_CURRENT_BINARY_DIR}/external/easyloggingpp)

# 假设你的项目目标是my_project,将easylogging++.cc加入源文件列表一起编译
add_executable(my_project
    your_main_source.cc
    ${CMAKE_CURRENT_BINARY_DIR}/external/easyloggingpp/easylogging++.cc
)

# 确保项目在easyloggingpp下载完成后再构建,避免文件缺失
add_dependencies(my_project easyloggingpp)

关键细节说明:

  • 必须先引入ExternalProject模块,否则ExternalProject_Add命令无法识别
  • 把INSTALL_COMMAND设为空字符串,跳过官方的安装步骤,改用自定义的文件复制逻辑
  • 使用POST_BUILD_COMMAND保证复制操作在下载解压完成后执行,同时用绝对路径避免相对路径带来的隐患
  • 通过include_directories配置头文件路径,让编译器能顺利找到easylogging++.h
  • 将easylogging++.cc加入项目源文件,确保它会和你的代码一起编译链接
  • 用add_dependencies建立依赖关系,避免项目构建时出现文件未下载的编译错误

配置完成后,你就可以在源码里直接使用easylogging++了:

#include "easylogging++.h"

INITIALIZE_EASYLOGGINGPP

int main() {
    LOG(INFO) << "Hello from easylogging++!";
    return 0;
}

内容的提问来源于stack exchange,提问作者gruszczy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:27:20