Ошибка компиляции с использованием gcc — strprintf (& quot;% & quot; PRId64, n)

Я пытаюсь скомпилировать некоторый код из Github на моем, (обновленном) Centos 6.5, используя GCC ++.
Но я получаю сообщение об ошибке ниже, когда я пытаюсь скомпилировать код.

Строка ниже — это ошибка:

...
#define __STDC_FORMAT_MACROS 1

...
#include <inttypes.h>

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

...

И ошибка:

error: expected ')' before 'PRId64

В чем может быть проблема и как мне ее решить?

Изменить 1: Эта строка кода не работает.
https://github.com/rat4/blackcoin/blob/master/src/util.h#L226

Изменить 2: заменить код на printf («%» PRId64, n); (обратите внимание на дополнительный пробел), как предложено в предложенном ответе, не работает (выдается то же сообщение об ошибке).

3

Решение

Кажется, что ошибка где-то внешняя. Посмотрите — http://ideone.com/dqeMTY — Я скопировал твой код, но Я ошибся и пропустил # подписать перед define __STDC_FORMAT_MACROS 1и … у меня та же ошибка рядом PRId64, Попробуйте прокомментировать половину кода перед подозрительной строкой, затем другую половину и так далее.

0

Другие решения