0

iOS プロジェクト用にSwiftenライブラリをコンパイルできましたが、 Boostライブラリに関連するリンク エラーが発生しています。

これらの手順Boostに従ってコンパイルしました。リンク中に発生するエラーは次のとおりです。

Undefined symbols for architecture arm64:
"vtable for boost::filesystem::detail::utf8_codecvt_facet", referenced from:
  __GLOBAL__I_a in boost(path.o)
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

いくつかのコンパイルパラメーターを含めることを提案する記事をいくつか読みましたが、どのパラメーターまたはどこに配置すればよいかわかりません。私も解決策なしでこのスレッドにたどり着きました。他の誰かがこの問題に直面しましたか? Swiften for iOS のコンパイルと実行に成功した人はいますか? 正しい方向へのヒントは大歓迎です。

更新 1

ライブラリはオブジェクトを共有しているようfilesystemで、ビルド中に一方が他方をオーバーライドしていました。最後に、ライブラリ全体をコンパイルすることができましたが、それを使用しようとすると、さらにリンクエラーが発生します:(メインクラスでオブジェクトを宣言すると、このエラーが発生します:program_optionsutf8_codecvt_facetboostSwiftenJID

Undefined symbols for architecture armv7: 
"Swift::StringPrep::getPrepared(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
Swift::StringPrep::Profile)", referenced from:
Swift::JID::nameprepAndSetComponents(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&, std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&) in JID.o
4

0 に答える 0