Build 使用SDK10.6或10.7在OSX 10.7.5上构建Portaudio失败
在我的系统上构建Portaudio库仍然有困难,它是OSX 10.7.5和Xcode 4.3.2,安装了命令行工具,并在下面安装了SDK10.6和SDK10.7Build 使用SDK10.6或10.7在OSX 10.7.5上构建Portaudio失败,build,compiler-errors,osx-lion,portaudio,Build,Compiler Errors,Osx Lion,Portaudio,在我的系统上构建Portaudio库仍然有困难,它是OSX 10.7.5和Xcode 4.3.2,安装了命令行工具,并在下面安装了SDK10.6和SDK10.7 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ 我简短地描述了(也针对遇到相同问题的其他人)到目前为止我所做的工作(遵循我在web上找到的不同解决方案) 1) 我从以下网站下载了“Portaudio”/pa
/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\u mac\u coreaudio.html
并尝试使用建议的命令从终端窗口编译:
/配置和制作
这导致了(不足为奇的)大量错误,最终导致:
llvm-gcc-4.2:尝试执行“/usr/bin/。/llvm-gcc-4.2/bin/powerpc-apple-darwin11-llvm-gcc-4.2”时出错:execvp:没有这样的文件或目录
lipo:无法打开输入文件:/var/folders/1_u2;/xkp08ky561jg02zjjrpsxg940000gn/t//ccPxCTrJ.out(没有这样的文件或目录)
make:[src/hostapi/coreaudo/pa_mac_core.lo]错误1
这是因为自OSX 10.5以来不再支持“ppc”。此外,“开发者”文件夹在OSX 10.7上不存在,开发者文件夹中的所有内容都已移动到
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
3) 我下载了一个补丁(mac_configure_patch.txt)来修复“configure”,它来自:
:
并将其复制到portaudio目录中,并通过键入Terminal应用它:
$patch提前感谢!试试最新的svn。如果这不能立即奏效,你可能需要弄脏一些旗帜 例如,在configure.in中:
- 换墙
- add-Wno已弃用(您不需要这个,只是以防万一)
./configure --disable-mac-universal
和往常一样。好的,我终于解决了这个问题。希望这个解决方案也能帮助其他人。我只是忘了将CoreAudio框架的路径添加到CFLAGS中。下面是使用SDK10.7 for architecture i386&x86_64在OSX 10.7.5上构建portaudio的最终配置/构建命令: 在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/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/framework-CoreAudio.“/configure——禁用mac universal 如果此操作已完成,则需要编辑
Makefile
,并将-Werror
更改为-Wall
然后:
制造
瞧,您的“libportaudio.la”在portaudio/lib目录中。您现在可以键入
sudo制作安装
(将要求您使用密码进行确认)
将库放入系统目录
终于可以和Portaudio混在一起了!
玩得开心!在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
但是,我发现您可以简单地使用(类似于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