我仍然无法在我的系统上构建 Portaudio 库,这是带有 Xcode 4.3.2 的 OSX 10.7.5,安装了命令行工具并在下安装了 SDK10.6 和 SDK10.7
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
我简要描述了(也适用于遇到相同问题的其他人)到目前为止我所做的事情(遵循我在网上找到的不同解决方案)。
1)我从以下位置下载了“Portaudio”/pa_stable_v19_20111121.tgz(最后一个稳定版本):
www.portaudio.com/download.html
2)我在这里阅读了关于构建 Portaudio 的说明:
www.portaudio.com/docs/v19-doxydocs/compile_mac_coreaudio.html
并尝试使用建议的命令从终端窗口编译:
./配置 && 制作
这导致(并不奇怪)很多错误以以下结尾:
llvm-gcc-4.2:错误尝试执行'/usr/bin/../llvm-gcc-4.2/bin/powerpc-apple-darwin11-llvm-gcc-4.2':execvp:没有这样的文件或目录lipo:可以't open input file: /var/folders/1_/xkp08ky561jg02zjjrpsxg940000gn/T//ccPxCTrJ.out (没有这样的文件或目录) make: * [src/hostapi/coreaudio/pa_mac_core.lo] 错误1
发生这种情况是因为自 OSX 10.5 起不再支持“ppc”。此外,OSX 10.7 上不存在“Developer”文件夹,并且 Developer 文件夹中的所有内容都已移至
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
3)我下载了一个补丁(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”中的“#include AudioToolbox.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 个退出状态
制作:* [lib/libportaudio.la] 错误 1
7) 所以我尝试使用“-F/System/Library/Frameworks -framework CoreAudio”来指向框架
导致以下终端命令:
$ 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 个退出状态
制作:* [lib/libportaudio.la] 错误 1
我现在被困在这一点上。尝试使用 SDK10.6 或 SDK10.7 在 OSX 10.7 上构建 Portaudio 时,是否有人遇到过同样的问题。有没有人找到如何从终端构建 Portaudio 的解决方案?我非常感谢任何提示!!!提前致谢!