一、安装fmt
1、在终端执行以下指令,从github克隆fmt到本地
git clone https://github.com/fmtlib/fmt.git
2、依次执行以下指令编译安装fmt
cd fmt
mkdir build
cd build
cmake ..
make
sudo make install
二、相关报错及解决方法
我在执行上述过程中的make指令时产生了以下报错:
error: no matching function for call to ‘fmt::v11::formatter<fmt::v11::detail::std_string_view, char, void>::format(fmt::v11::detail::std_string_view&, fmt::v11::context&) const’
3857 | return formatter<Base, Char>::format(value, ctx);
从编译日志来看,fmt
库的编译过程中出现了关于模板推导和类型转换的错误,特别是涉及 std_string_view
和 basic_string_view
的问题。这可能是由于 fmt
库版本和我的编译器或依赖项不兼容,或者是某些模板推导的问题。
解决方法:更新或选择合适的 fmt
版本
当前我编译的 fmt
库版本是 11.0.2
,可能在该版本中存在一些模板相关的问题。可以尝试回退到稳定的 fmt
版本来解决该问题,例如9.1.0版本,首先,我们回到fmt文件夹下,在空白处右键,选择 在终端打开 项,然后在打开的终端下执行以下指令
git checkout 9.1.0
然后重新在终端执行以下指令:
cd build
cmake ..
make
然后就可以发现报错成功解决了
然后接着按照第一部分中介绍的流程,执行完下面这行语句,就可以完成fmt的安装了
sudo make install