JsonCPP

Padawan

Erfahrenes Mitglied
Hallo leute,

versuche gerade einen Jsonparser in C++ zu erstellen. hab unter Linux Libjsoncpp installiert. Die gnazen Headerdateien liegen unter:

Code:
usr/include/jsoncpp/

Eingebunden habe ich die Header durch:

C++:
#include <jsoncpp/json/json.h>

Den Parser habe ich folgendermaßen compiliert:
C++:
Jsonparser: src/Jsonparser.cpp
     gcc -o Jsonparser  src/Jsonparser.cpp -ljsoncpp -L/usr/include/jsoncpp/json

Bekommen aber die Fehlermeldung:

gcc -o Jsonparser src/Jsonparser.cpp -ljsoncpp -L/usr/include/jsoncpp/json
/usr/bin/ld: /tmp/ccUC8s6P.o: undefined reference to symbol '_ZNSsC1ERKSs@@GLIBCXX_3.4'
//usr/lib/i386-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [Jsonparser] Error 1


ich hoffe ihr könnt mir helfen.

Lg
Padawan
 
Wie hast du libjsoncpp installiert? Über Paket-Manager? Selbst kompiliert? Mehr Infos an dieser Stelle helfen evtl. weiter. Was aber komisch ist, du erweiterst den Linker-Such-Pfad auf /usr/include/jsoncpp/json, in dem sollten die Headers liegen. Was passiert, wenn du die Kommandozeile so abänderst:

Code:
gcc -v -o Jsonparser -L/usr/lib/libjsoncpp -ljsoncpp src/Jsonparser.cpp

-L weist den Linker an, einen zusätzlichen Pfad nach Libraries zum Linken zu durchsuchen. Standard-mäßig ist /lib und /usr/lib, bzw. bei 64-Bit /usr/lib64 im Such-Pfad.

Achja, das wäre auch noch interessant: Baust du auf einem 64-Bit-System mit einem 64-Bit-Compiler und libjsoncpp ist evtl. als 32-Bit Library installiert?
 
Zurück