Build 使用SDK10.6或10.7在OSX 10.7.5上构建Portaudio失败

Build 使用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

在我的系统上构建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_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 确认信息说:

修补文件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-mmacox 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-禁用mac universal

5) 此外,我发现:

A) :“#include AudioToolbox.h”in.include/pa_mac_core.h”应为未注释

B) :应删除“Makefile”(而不是Makefile.in)中的“-wError”

根据:

6) 现在我尝试构建(使用:“sudo make”),编译开始,但失败:

ld:找不到框架CoreAudio

collect2:ld返回了1个退出状态

make:[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-mmacox 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/framework-CoreAudio.“/configure--disable mac universal

这似乎解决了CoreAudio框架问题,但导致另一个错误,即:

ld:找不到-lSystem的库

collect2:ld返回了1个退出状态

make:[lib/libportaudio.la]错误1

我现在被困在这一点上。有没有人在尝试使用SDK10.6或SDK10.7在OSX 10.7上构建Portaudio时遇到过同样的问题?有没有人找到从终端构建Portaudio的解决方案? 我非常感谢任何提示!!!
提前感谢!

试试最新的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