printf uint64_tの非常にシンプルなテストコードを作成しました。
#include <inttypes.h>
#include <stdio.h>
int main()
{
uint64_t ui64 = 90;
printf("test uint64_t : %" PRIu64 "\n", ui64);
return 0;
}
ubuntu 11.10(64ビット)とgccバージョン4.6.1を使用してコンパイルしましたが、失敗しました。
main.cpp: In function ‘int main()’:
main.cpp:9:30: error: expected ‘)’ before ‘PRIu64’
main.cpp:9:47: warning: spurious trailing ‘%’ in format [-Wformat]
gccまたはclangのいずれかを使用する
—
Davislor、
-std=c11
場合、または使用している標準のバージョンを指定することをお勧めします。これは、このエラーやその他のエラーをキャッチします。-Wall -Wextra -Wpedantic -Wconversion
少なくともお勧めします。
main.c
をgccに変更してコンパイルすると、すべて正常に動作するはずです。