6

「追加の mtouch 引数」について簡単な質問があります

-gcc_flags "-lstdc++ -L${ProjectDir} -libMonkeyTalk-1.0.40 -lsqlite30 -framework CFNetwork -framework QuartzCore -all_load"

追加の引数としてそれを持っていますが、iOS アプリケーションをビルドすると次のエラーが発生します。

Error MT5201: Native linking failed. Please review user flags provided to gcc: "-lstdc++" "-L/Users/henry/Downloads/HelloWorld_iPhone/HelloWorld_iPhone" "-libMonkeyTalk-1.0.40" "-lsqlite30" "-framework" "CFNetwork" "-framework" "QuartzCore" "-all_load" (MT5201) (HelloWorld_iPhone)

どうすればこれを修正できますか? 私の議論のどこが間違っていますか? MonkeyTalk lib を追加する手順が抜けているのでしょうか、それとも何か問題がありますか?

4

1 に答える 1

3

MT5201エラーは、ネイティブリンカーの実行時にビルドが失敗したことを意味します。

最も一般的な問題の 1 つは、を使用してリンカーに与えられた追加の (および未検証-gcc_flagsの) 引数に関連しています。これが、エラー メッセージでそれらを確認するように求める理由です。

ただし、リンクが失敗する唯一の理由ではありません。確認したら、ビルド ログ (XS エラー パッド内) を調べて、リンカーによって報告された警告/エラー (さらには以前のメッセージ) を確認する必要があります。

質問で完全な追加の mtouch 引数が提供された場合、問題は、C++ コンパイラを使用してコンパイルする"-lstdc++ように指示せずに、C++ ライブラリ (あなたの )とリンクしている可能性があります。mtouch--cxx

これはリンカー引数ではmtouchなく引数あるため、. 例えば--gcc_flags

--cxx -gcc_flags "-lstdc++ -L${ProjectDir} -libMonkeyTalk-1.0.40 -lsqlite30 -framework CFNetwork -framework QuartzCore -all_load"
于 2013-03-24T15:46:52.327 に答える