4

システムでPortaudioライブラリを構築するのにまだ問題があります。OSX10.7.5とXcode4.3.2があり、コマンドラインツールがインストールされており、SDK10.6とSDK10.7が

    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/

私がこれまでに行ったこと(Webで見つけたさまざまな解決策に従って)について簡単に説明します(同じ問題が発生した他の人についても)。

1)「Portaudio」/pa_stable_v19_20111121.tgz(最後の安定版リリース)を次の場所からダウンロードしました。

www.portaudio.com/download.html

2)ここでPortaudioの構築手順を読みました:

www.portaudio.com/docs/v19-doxydocs/compile_mac_coreaudio.html

提案されたコマンドを使用して、ターミナルウィンドウからコンパイルしようとしました。

./configure && make

これにより、(それほど驚くことではありませんが)次のように終わる多くのエラーが発生しました。

llvm-gcc-4.2:実行しようとしたときにエラーが発生しました'/usr/bin/../llvm-gcc-4.2/bin/powerpc-apple-darwin11-llvm-gcc-4.2':execvp:そのようなファイルまたはディレクトリはありませんlipo:できます入力ファイルを開かない:/var/folders/1_/xkp08ky561jg02zjjrpsxg940000gn/T//ccPxCTrJ.out(そのようなファイルまたはディレクトリはありません)make:* [src / hostapi / coreaudio/pa_mac_core.lo]エラー1

これは、OSX10.5以降「ppc」がサポートされなくなったために発生します。さらに、「Developer」フォルダはOSX 10.7には存在せず、Developerフォルダにあったものはすべてに移動しました

   /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/

3)「configure」を修正するパッチ(mac_configure_patch.txt)をダウンロードしました。

https://www.assembla.com/spaces/portaudio/tickets/216#/activity/ticket

それをportaudioディレクトリにコピーし、ターミナルに入力して適用しました。

$パッチ<mac_configure_patch.txt

確認メッセージは次のように述べています。

パッチファイルconfigure.in

したがって、すべてが正常に見えます。しかし、それでもPortaudioは「ppc」用にビルドしようとしています。

4)ここで、次のようにARCHFLAGS、CFLAGS、LDFLAGSをアーキテクチャi386用にのみビルドするように設定しました(ユニバーサルビルドを無効にします)。

$ MACOSX_DEPLOYMENT_TARGET = "10.7" ARCHFLAGS = "-arch i386" CFLAGS = "-O2 -g -Wall -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -arch i386 -mmacosx-version-min = 10.7 "LDFLAGS ="-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sd -arch i386 -mmacosx-version -min = 10.7 "./configure --disable-mac-universal

5)さらに私はそれを見つけました:

A):「。include/pa_mac_core.h」の「#includeAudioToolbox.h」はコメント解除する必要があります

B):「Makefile」(Makefile.inではない)の「-wError」を削除する必要があります。

準拠: http://www.fluxforge.com/blog/building-portaudio-under-os-x-107-lion

6)ビルドしようとすると( "sudo make"を使用)、コンパイルは開始されますが、失敗します:

ld:フレームワークが見つかりませんCoreAudio

collect2:ldが1つの終了ステータスを返しました

make:* [lib/libportaudio.la]エラー1

7)そこで、「-F / System / Library /Frameworks-frameworkCoreAudio」を使用してフレームワークをポイントしようとしています。

次のターミナルコマンドにつながります。

$ MACOSX_DEPLOYMENT_TARGET = "10.7" ARCHFLAGS = "-arch i386" CFLAGS = "-O2 -g -Wall -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -arch i386 -mmacosx-version-min = 10.7 "LDFLAGS ="-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sd -arch i386 -mmacosx-version -min = 10.7 -F / System / Library / Frameworks -framework CoreAudio "./configure --disable-mac-universal

これはCoreAudioフレームワークの問題を修正しているようですが、次のような別のエラーが発生します。

ld:-lSystemのライブラリが見つかりません

collect2:ldが1つの終了ステータスを返しました

make:* [lib/libportaudio.la]エラー1

私は今この時点で立ち往生しています。SDK10.6またはSDK10.7を使用してOSX10.7でPortaudioをビルドしようとしたときに、同じ問題が発生しましたか?ターミナルからPortaudioを構築する方法の解決策を見つけた人はいますか?ヒントをいただければ幸いです!!! 前もって感謝します!

4

3 に答える 3

6

最新のsvnを試してください。それがすぐに機能しない場合は、いくつかのフラグをいじくり回す必要があるかもしれません。

例:configure.in:

  • -Werrorを-Wallに変更します
  • add -Wno-非推奨(これは必要ありませんが、念のため)

次に実行します

./configure --disable-mac-universal

いつものように作ります。

于 2012-11-09T17:08:28.187 に答える
1

OK、ついに問題を解決しました。ソリューションが他の人にも役立つことを願っています。CoreAudioフレームワークへのパスもCFLAGSに追加するのを忘れました。アーキテクチャi386およびx86_64用のSDK10.7を使用してOSX10.7.5でportaudioをビルドするための最後のconfigure/buildコマンドは次のとおりです。

portaudioディレクトリでターミナルウィンドウを開き、次のように入力します。

MACOSX_DEPLOYMENT_TARGET = "10.7" ARCHFLAGS = "-arch i386" CFLAGS = "-O2 -g -Wall -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk- arch i386 -mmacosx-version-min = 10.7 -F / System / Library / Frameworks -framework CoreAudio "LDFLAGS="-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10。 7.sdk -arch i386 -mmacosx-version-min = 10.7 -F / System / Library / Frameworks -framework CoreAudio "./configure --disable-mac-universal

これが終了したらMakefile、の言及を編集してに変更する-Werror必要があります-Wall

それで:

作る

出来上がり。ここに、portaudio/libディレクトリに「libportaudio.la」があります。これで入力できます

sudo make install

(パスワードを使用して確認するように求められます)

ライブラリをシステムディレクトリに配置します。

最後に、Portaudioをいじることができます!楽しむ!

于 2012-11-10T10:51:13.077 に答える
0

Mac OSX Mountain Lion(10.8)で手順を試しましたが、コンパイルはかなり進んでいましたが、次のように失敗しました。

In file included from ./test/patest_sine_channelmaps.c:53:
./include/pa_mac_core.h:100:1: error: unknown type name 'AudioDeviceID'
AudioDeviceID PaMacCore_GetStreamInputDevice( PaStream* s );
^
./include/pa_mac_core.h:109:1: error: unknown type name 'AudioDeviceID'
AudioDeviceID PaMacCore_GetStreamOutputDevice( PaStream* s );
^
2 errors generated.
make: *** [bin/patest_sine_channelmaps] Error 1

しかし、Homebrew(OSX用のaptのようなパケットマネージャー)を使用するだけで、魅力のように汚い仕事をすることができると思いました。指定されたインストールディレクトリでバイナリとヘッダーを検索します:)

$ brew install portaudio
Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
==> Downloading http://www.portaudio.com/archives/pa_stable_v19_20111121.tgz
######################################################################## 100.0%
==> Downloading patches
######################################################################## 100.0%
==> Patching
patching file include/pa_mac_core.h
==> ./configure --prefix=/usr/local/Cellar/portaudio/19.20111121 --enable-mac-un
==> make install
/usr/local/Cellar/portaudio/19.20111121: 8 files, 316K, built in 20 seconds
于 2013-12-22T00:59:42.440 に答える