C++ 使用gcc-strprintf(“%”PRId64,n)编译错误

C++ 使用gcc-strprintf(“%”PRId64,n)编译错误,c++,gcc,centos6.5,C++,Gcc,Centos6.5,我正在尝试使用GCC++在我的(最新的)Centos 6.5上从Github编译一些代码。 但是当我试图编译代码时,我得到了下面的错误消息 下面这行是失败的一行: ... #define __STDC_FORMAT_MACROS 1 ... #include <inttypes.h> ... inline std::string i64tostr(int64_t n) { return strprintf("%"PRId64, n); // <-- errors h

我正在尝试使用GCC++在我的(最新的)Centos 6.5上从Github编译一些代码。
但是当我试图编译代码时,我得到了下面的错误消息

下面这行是失败的一行:

...
#define __STDC_FORMAT_MACROS 1

...
#include <inttypes.h>

...
inline std::string i64tostr(int64_t n)
{
  return strprintf("%"PRId64, n);   // <-- errors here.
}

...
问题可能是什么?我该如何解决

编辑1:这是失败的代码行。


编辑2:将代码替换为printf(“%”PRId64,n);(请注意,额外的空间),如建议的答案中所建议的,不起作用(给出了相同的错误消息)

看来,错误就在外面某个地方。瞧--我复制了你的代码,但是我搞错了,错过了
定义uu STDC\u格式u宏1
之前签名,而且。。。我在PRId64附近遇到了同样的错误。尝试在可疑行之前注释一半代码,然后再注释另一半代码,依此类推。

对我来说可以:-你确定你有所有相关的#包括吗?前面几行中有任何警告或其他问题吗?这是一个答案。顺便说一句,最好(将来)在问题中包含编译器版本和编译参数。我添加了github代码的链接。正如我所说,我有Centos 6.5所有最新版本,包括源文件中的gclooking。有人建议您的编译器可能不支持inttypes.h。正确地,添加
#ifndef PRId64
#检测到的错误Lame编译器
#endif
error: expected ')' before 'PRId64