前提・実現したいこと
Googleが提供している高性能なJavaScriptエンジンのV8をiOSで動作するようにしたいです。
具体的にはV8をiOS向けにビルドした後、C#のプロジェクトに組み込んでUnityで製作するアプリで利用したいです。
発生している問題・エラーメッセージ
こちらにある手順通りにV8のビルドを行っていたのですが、iOSに向けた特別な手順の説明がありませんでした。なので独自に調べたところGNを用いたビルド時にいくつかの引数を設定するのですが、そこで以下のように設定しました。
gn
1is_component_build = false 2is_debug = false 3v8_monolithic = true 4v8_static_library = true 5target_os = "ios" 6target_cpu = "arm64" 7v8_use_snapshot = false 8# is_clang = false 9v8_use_external_startup_data = false
ですがビルド時にいくつものエラーが発生してしまいます。
主に、Undefined symbols for architecture arm64
というエラーが多発していて、無視してビルドを続けさせることはできるのですが少し不安です。
また、生成されたいくつかの.a
ファイルをC#のプロジェクトに組み込む方法もわかりません。
試したこと
GNビルドの引数は出したり消したりでいくつも試しました。サンプルの手順に従ってやったものは特にエラーが出ません。
Cコンパイラの問題も疑ってgccのバージョンアップも行いました。
補足情報(FW/ツールのバージョンなど)
開発環境 MacOS
ターミナルはZshを使ってます。
そもそもの話ですが、知りたいことはマルチプラットフォームで動作するJavaScriptエンジンです。もし、他の方法をご存知の方がいらっしゃったら教えていただけると嬉しいです
試したもの
・Jint (Unityで使えるC#のバージョンでは動作しない。ECMA5.1までしか対応していない。)
・ClearScript (.NET Frameworkに依存していてWindowsでしか動作しない。)
・ChakraCore (MicrosoftがEdgeでV8を使用することを発表するなど、将来性がないので使用を控えたい)
追記(2018/12/15):このIssueに寄ればこれからも更新されるそうなので検討の余地があった。
追記(2018/12/17):
・BaristaCore (ChakraCoreを用いた.NET Standard準拠のライブラリ。)
回答1件
あなたの回答
tips
プレビュー