2016-06-01 9 views
0

Ich bin neu in Objective-C und Xcode.Xcode kann keine Symbole für die x86_64-Architektur finden

Ich versuche, eine YAML Datei von meiner .mm Datei zu analysieren. Ich entschied mich, die yaml-cpp Bibliothek zu verwenden, um diese Aufgabe zu erfüllen.

Ich habe die source heruntergeladen und alle Header-Dateien zu meinem Projekt hinzugefügt. Ich kann die yaml.h Header-Datei in meine .mm Datei aufnehmen und es erfolgreich erstellt.

#include <yaml-cpp/yaml.h> 
... 

Wenn ich versuche, die sample code mit folgenden Anweisung auszuführen:

std::ifstream yamlReader("vmap3_styleattrs.yaml"); 
YAML::Parser yamlParser(yamlReader); 

ich die folgenden Fehlermeldung erhalten:

Undefined symbols for architecture x86_64: 
    "YAML::Parser::Parser(std::__1::basic_istream<char, std::__1::char_traits<char> >&)", referenced from: 
    -[StyleSheetTests testGeoCSSTestAPIPrototype] in StyleSheetTests.o 
    "YAML::Parser::~Parser()", referenced from: 
    -[StyleSheetTests testGeoCSSTestAPIPrototype] in StyleSheetTests.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Das Komische ist, ist es das erste Mal kompiliert , aber bei jedem folgenden Versuch ist der Build mit der obigen Nachricht fehlgeschlagen.

Ich frage mich, ob this question zu meiner Situation verwandt ist, obwohl ich mir nicht sicher bin.

Ich würde alle Eingaben schätzen.

+0

Was haben Sie mit den Quelldateien gemacht? – immibis

+0

@immibis, habe ich die Quelldateien physisch in mein Projektverzeichnis kopiert und sie in meinem Quellcode referenziert. Für z.B. '#include ' gibt keinen Fehler aus, da ich die Header-Datei * yaml.h * in den Ordner * yaml-cpp * in meinem Projektverzeichnis kopiert habe. –

Antwort

0

This screenshot zeigt die Antwort skizzierte unter:

Ich glaube, Sie durch diese Methode zu beheben.

Project Setting -> Build Settings -> Apple LLVM 7.0 Language - C++ -> C++ Standard Library And Change libc++ (LLVM C++ standard library with C++11 support) to libstdc++ (GNU C++ standard library)

+0

Diese Änderung hat meinen Build zerstört. Danke für den Versuch. –