2016-06-01 15 views
0

私はObjective-CとXcodeが初めてです。Xcodeはx86_64アーキテクチャのシンボルを見つけることができません

YAMLファイルを私の.mmファイルから解析しようとしています。私はこのタスクを達成するためにyaml-cppライブラリを使用することに決めました。

sourceをダウンロードし、すべてのヘッダーファイルをプロジェクトに追加しました。 yaml.hヘッダーファイルを.mmファイルに含めて正常にビルドできます。

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

私は、次の文で、sample codeを実行しようとすると:面白いことは、それが最初にコンパイルされ

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) 

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

は、私は次のエラーを取得しますそれ以来、すべての試みは上記のメッセージで失敗しました。

this questionが私の状況に関連しているかどうかはわかりませんが、わかりません。

私は入力を感謝します。私はあなたがこの方法で解決することができると思い

+0

ソースファイルで何をしましたか? – immibis

+0

@immibis、私は物理的に私のプロジェクトディレクトリにソースファイルをコピーし、ソースコードで参照しました。例えば、 * yaml.h *ヘッダファイルをプロジェクトディレクトリの* yaml-cpp *フォルダにコピーしたので、 '#include 'はエラーを投げません。 –

答えて

0

This screenshotは以下の通りの答えを示しています。

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

この変更は私のビルドを破った。しかし、試してくれてありがとう。 –

関連する問題