Ich habe einen sehr einfachen Testcode von printf uint64_t geschrieben:
#include <inttypes.h>
#include <stdio.h>
int main()
{
uint64_t ui64 = 90;
printf("test uint64_t : %" PRIu64 "\n", ui64);
return 0;
}
Ich verwende Ubuntu 11.10 (64 Bit) und gcc Version 4.6.1, um es zu kompilieren, aber es ist fehlgeschlagen:
main.cpp: In function ‘int main()’:
main.cpp:9:30: error: expected ‘)’ before ‘PRIu64’
main.cpp:9:47: warning: spurious trailing ‘%’ in format [-Wformat]
-std=c11die Version des von Ihnen verwendeten Standards anzugeben . Das fängt diesen und andere Fehler auf. Ich empfehle auch -Wall -Wextra -Wpedantic -Wconversionzumindest.
main.cund mit gcc kompilieren, sollte alles einwandfrei funktionieren.