0

iOS プロジェクトでブースト フレームワークを使用する必要があります。私の最初のミッションは、Ios で働くためのブーストを得ることでした。このスクリプトを使用してみました

http://goodliffe.blogspot.co.uk/2010/09/building-boost-framework-for-ios-iphone.html

が、リポエラー(?)でビルドできず、解決方法がわかりませんでした。コンパイル済みのフレームワークを探していたところ、github でこのプロジェクトに出会いました。

https://github.com/danomatika/ofxLua

libセクションに含まれるboostのIosバージョンがあります。だから私は私のプロジェクトでそれを使ってみました

しかし、プロジェクトをビルドすると、次のエラーが発生します。

Undefined symbols for architecture i386:
  "vtable for boost::filesystem::detail::utf8_codecvt_facet", referenced from:
      (anonymous namespace)::path_locale() in boost(path.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "_inflate", referenced from:
      MatlabIO::uncompressVariable(unsigned int&, unsigned int&, unsigned int&, std::vector<char, std::allocator<char> > const&) in MatlabIO.o
  "_inflateEnd", referenced from:
      MatlabIO::uncompressVariable(unsigned int&, unsigned int&, unsigned int&, std::vector<char, std::allocator<char> > const&) in MatlabIO.o
  "_inflateInit_", referenced from:
      MatlabIO::uncompressVariable(unsigned int&, unsigned int&, unsigned int&, std::vector<char, std::allocator<char> > const&) in MatlabIO.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

また、使用してブーストをインストールしたことを明確にしたい

sudo port install boost 

私のxcodeプロジェクトでは、/usr/local/include/boost/などにリンクしていません。間違ったアーキテクチャでコンパイルしているようです。

これに対する解決策はありますか?フレームワークが iOS 用にコンパイルされていない可能性がありますか? または、私のプロジェクトが正しいバージョンを参照していませんか

4

1 に答える 1

0

BOOST 1.57.0 を ofxiOSBoost スタティック ライブラリとヘッダーで使用できます: https://github.com/danoli3/ofxiOSBoost

libc++ (c++11)、libstdc++ のリリース。

すべてのビルド スクリプトは /scripts フォルダーにあります (更新された Peter Goodliffe スクリプト)。

于 2015-02-03T03:53:44.043 に答える