xcode使用spdlog(1.7)总结

 

!!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!!

作者:mohist

 

 

 

注意⚠️ 请选择对c++11支持完善的编译器, 因为spdlog一直更新。

 

本文演示环境: mac osx Mojave10.14.6  , Xcode version: 11.0

本文使用的是clang++对代码的编译

 

1、准备

  A、spdlog源码(当前为1.7): https://github.com/gabime/spdlog

  B、xcode 11.0 or 支持c++11的版本: https://developer.apple.com/download/more/ .  更为简单的方法就是appstore安装(傻瓜式)或者命令行安装。Xcode的安装,这里跳过。

 

2、解压

  A、解压下载的spdlog源码。

  B、打开解压文件夹,找到 include文件夹 或者 include/spdlog文件夹

xcode使用spdlog(1.7)总结

3、使用

  这里,我将创建一个command line app演示用法

  A、创建c++工程

xcode使用spdlog(1.7)总结

xcode使用spdlog(1.7)总结

  B、Xcode项目设置头文件寻找路径, 打开 上面创建的项目 demo ->  Build Settings , 找到 Header Search Paths

xcode使用spdlog(1.7)总结

  重点来了:  因为我们需要引用的头文件来自spdlog,这里需要设置Xcode的头文件寻找方式:相对路径,这样,好处是: 当我们将项目拷贝到其他电脑,也可正常编译。

  注意, 我拷贝spdlog源码文件夹下的include文件夹到创建项目x_spdlog_demo的文件夹的x_spdlog_demo文件夹下(也可拷贝spdlog文件夹),见下图:

xcode使用spdlog(1.7)总结

  C、添加配置。

  将 Header Search Paths 的值 设置为 : $(SRCROOT)/x_spdlog_demo  。

  解释: 例如,我这里创建的项目名是: x_sdplog_demo,   $(SRCROOT)的值是: x_spdlog_demo.xcodeproj    所在路径。这样设置,告诉xcode,去我们指定的目录下寻找头文件。

  xcode使用spdlog(1.7)总结

  D、回到xcode的main.cpp 添加代码。

#include "include/spdlog/spdlog.h"
#include "include/spdlog/sinks/rotating_file_sink.h"

int main(int argc, const char * argv[])
{
    // 1、console output
    spdlog::info("Hello, {}!", "World");


    // 2、log to file
    auto rotating_logger_a = spdlog::rotating_logger_mt("log_file_a", "logs/ra.txt", 1024 * 1024 * 5, 3);

    for (int i = 0; i < 1024; i++)
    {
        rotating_logger_a->info("index = {}", i);
    }

    spdlog::shutdown();

    return 0;
}

  --> 重点来了, 这里 引用 spdlog库头文件方式 与 上面 设置 Header Search Paths 有关。

  1)、示例代码中,#include "include/spdlog/spdlog.h"  , Xcode寻找为路径为: $(SRCROOT)/x_spdlog_demo/include/spdlog/spdlog.h  。   2)、若 Header Search Paths    配置为:$(SRCROOT)/x_spdlog_demo/include , 那么, 代码引用需要改为: #include "spdlog/spdlog.h"  .

 

  D、构建或者command+B. 发现报错,报错提示: 找不到: "XXXXXX /spdlog/common.h"。 打开文件: include/spdlog/spdlog.h。 将包含头文件的方式改为:include "XXX.h"  。我这里演示的, 需要改为: #include "include/spdlog/common.h" .

  xcode使用spdlog(1.7)总结

   E、再次构建,发现还是找不到文件。 和D的步骤一致,找到错误提示,改为 include "XXX.h"的方式。 直到 构建成功。 

  xcode使用spdlog(1.7)总结

  F、构建成功,说明即可正常使用 spdlog 。 运行,并打开输出 目录, 可见程序已经创建日志文件并记录数据。

xcode使用spdlog(1.7)总结

 

Xcode使用spdlog结束。 

还等什么,继续学习 spdlog 源码吧。 

 

原文链接: https://www.cnblogs.com/pandamohist/p/13307420.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    xcode使用spdlog(1.7)总结

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/366442

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 下午4:42
下一篇 2023年3月2日 下午4:42

相关推荐