Ich habe gerade g ++ 4.8 auf meinem Ubuntu-System installiert, um einige Voraussetzungen zu erfüllen. Aber jetzt bin da ich einige C++ Kompilierungsfehlern wie diese:nicht übereinstimmende C++ Header-Versionen
build-Befehl:
g ++ - 4.8 -m64 -std = C++ 0x -c -g -I/usr/include/jsoncpp/json - std = C++ 0x -MMD-MP -MF erstellen/Debuggen/GNU-Linux-x 86/_ext/803384703/CharNode.od -o bauen/Debug/GNU-Linux-x 86/_ext/803384703/CharNode.o .. /doublets/CharNode.cpp
Fehler:
In file included from /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:420:0,
from /usr/include/c++/4.8/bits/stl_algobase.h:59,
from /usr/include/c++/4.8/bits/stl_tree.h:61,
from /usr/include/c++/4.8/map:60,
from ../doublets/CharNode.h:13,
from ../doublets/CharNode.cpp:9:
/usr/include/x86_64-linux-gnu/c++/4.8/bits/os_defines.h:44:19: error: missing binary operator before token "("
#if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
^
Es scheint, über die Klammer beschweren zu werden?
Auch, (bei anderen Fehlern) Ich denke, es gibt eine Versionskonflikt zwischen wchar.h (c99) und alles andere was C++ 0x (C11) ist. Irgendwelche Ideen, wie man die c11 Standardüberschriften erhält und sie in ubuntu installiert?
Sie sollten mehr Quellcode anzeigen. Vielleicht möchten Sie # # '' einschließen und '-Wall -D_GNU_SOURCE -std = C++ 11' an' g ++ 'übergeben (vielleicht auch' -H'); auch welchen GCC 4.8 hast du installiert und wie (der Ubuntu ist ein Buggy 4.8.1; Upgrade auf GCC 4.8.2)? –
Hmm, 4.8.1, wo bekomme ich 4.8.2, muss ich es kompilieren und bauen? Auch ich denke, ich habe das Problem gefunden. Die features.h, auf die in os_defines.h Bezug genommen wird, sind möglicherweise die falsche (ich glaube, sie nimmt die von jsoncpp auf), die im Befehl -l build enthalten ist. Um es richtig zu machen, verschiebe ich den -l Verweis auf jsoncpp ein Verzeichnis zurück. –
Ja das war es, behoben. –