0

./configure、make、make install を使用してライブラリをプロジェクトとインストール済みのライブラリに sox しようとしており、libsox.dylib をプロジェクトにリンクしようとしています。コンパイラ エラーは発生しませんが、実行時エラーが発生します。

今、次のエラーが発生しています。

[Session started at 2010-03-03 17:33:44 +0530.]
dyld: Library not loaded: /usr/local/lib/libmp3lame.0.dylib
  Referenced from: /usr/local/lib/libavformat.dylib
  Reason: no suitable image found.  Did find:
/usr/local/lib/libmp3lame.0.dylib: mach-o, but wrong architecture
/usr/local/lib/libmp3lame.0.dylib: mach-o, but wrong architecture

The Debugger has exited due to signal 5 (SIGTRAP).The Debugger has exited due to signal 5 (SIGTRAP).

sox ライブラリを mac os にインストールする正確な手順を教えてください。

よろしく、CocoaDev

4

2 に答える 2

1

おそらく、32 ビットと 64 ビットのコード、または x86 と ARM など、異なるアーキテクチャを混在させようとしているでしょう。dyldfileのアーキテクチャを確認し、構築しようとしているもののアーキテクチャと比較するために使用します。

$ man file

于 2010-03-04T11:06:15.750 に答える
0

簡単な修正方法は次のとおりです。プログラムをインストールするときに、次のように「構成」を実行します。

./configure CFLAGS='-O2 -arch x86_64 ...' LDFLAGS='-arch x86_64 ...'

必要なアーチをすべてリストし、それぞれに個別の -arch を付けます。これは時々壊れることが知られています。たとえば、この方法で LibSDL をコンパイルしないでください。誤った出力 (変な色など) が得られます。残念ながら、sox が同様の問題を抱えている可能性は十分にあるため、同梱したいすべてのアーチで必ずテストしてください。

于 2010-03-04T11:10:54.300 に答える