我正在尝试使用 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.
}
...
Run Code Online (Sandbox Code Playgroud)
错误是:
error: expected ')' before 'PRId64
Run Code Online (Sandbox Code Playgroud)
可能是什么问题,我该如何解决?
编辑 1:这是失败的代码行。
https://github.com/rat4/blackcoin/blob/master/src/util.h#L226
编辑 2:用printf("%" PRId64, n)替换代码;(注意额外的空间),如建议的答案中所建议的那样不起作用,(给出相同的错误消息)。
看起来,错误是在外部的某个地方。看 - http://ideone.com/dqeMTY - 我复制了你的代码,但我之前出错并错过了#符号define __STDC_FORMAT_MACROS 1,并且......我在附近遇到了同样的错误PRId64。尝试在可疑行之前注释一半代码,然后注释另一半,依此类推。