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】免费获取数百本计算机经典书籍

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

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

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

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

(0)
上一篇 2023年2月12日 下午8:26
下一篇 2023年2月12日 下午8:26

相关推荐