C++ {fmt}:编译时字符串格式检查不';行不通

C++ {fmt}:编译时字符串格式检查不';行不通,c++,g++,fmt,C++,G++,Fmt,我试图在编译时使用FMT5.3.0(仅限标题)进行格式字符串检查 #仅定义FMT#U头 #定义FMT_字符串_别名1 #包括 int main(){ std::string s=格式(fmt(“{2}”),42); 返回0; } $g++-I../include-std=c++11 test.cpp …没什么 根据fmt自述,这将产生一个错误()。编译时检查需要足够的constexpr支持。使用将不会有编译时检查,但使用将有。另请参见的定义。谢谢!这起作用了:安装g++-6:g++-6-I..

我试图在编译时使用FMT5.3.0(仅限标题)进行格式字符串检查

#仅定义FMT#U头
#定义FMT_字符串_别名1
#包括
int main(){
std::string s=格式(fmt(“{2}”),42);
返回0;
}
$g++-I../include-std=c++11 test.cpp
…没什么


根据fmt自述,这将产生一个错误()。

编译时检查需要足够的constexpr支持。使用将不会有编译时检查,但使用将有。另请参见的定义。

谢谢!这起作用了:安装g++-6:
g++-6-I../include-std=c++14 test.cpp
context.on\u错误(“参数索引超出范围”)
$ g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609