Macos 错误:没有以前的‘的原型__sputc&x2019;

Macos 错误:没有以前的‘的原型__sputc&x2019;,macos,avconv,gnutls,Macos,Avconv,Gnutls,我正在为一个项目安装avconv。我一直在使用在OSX上安装avconv和为OSX构建Gnutls来指导我完成这项工作。Gnutls现在似乎已成功安装,但当我尝试make然后sudo make install安装avconv时,出现以下错误: CC libavdevice/alldevices.o In file included from ./libavformat/avformat.h:254, from libavdevice/alldevices.c:

我正在为一个项目安装avconv。我一直在使用在OSX上安装avconv和为OSX构建Gnutls来指导我完成这项工作。Gnutls现在似乎已成功安装,但当我尝试
make
然后
sudo make install
安装avconv时,出现以下错误:

CC  libavdevice/alldevices.o
In file included from ./libavformat/avformat.h:254,
                 from libavdevice/alldevices.c:22:
/usr/include/stdio.h:346: error: no previous prototype for ‘__sputc’
make: *** [libavdevice/alldevices.o] Error 1
在尽可能多地查找有关此错误的信息时,我要么只找到此错误的日志,要么在直接使用Xcode时找到与处理类似问题相关的帮助(我没有这样做,但我至少安装了Xcode和命令行工具)


谢谢

看起来您在此项目中使用的编译器不正确。使用

sudo port select --list gcc
查看可用的编译器。在我的系统上,它看起来像这样:

Available versions for gcc:
    apple-gcc42
    llvm-gcc42
    none (active)
我必须将其更改为llvm-gcc42以使编译工作正常:

sudo port select --set gcc apple-gcc42
Selecting 'llvm-gcc42' for 'gcc' succeeded. 'llvm-gcc42' is now active.
还要注意,您必须禁用输入设备“jack”才能使编译正常工作,如下所示:

./configure --extra-cflags=-I/opt/local/include --extra-ldflags=-L/opt/local/lib --enable-gpl --enable-libx264 --enable-libxvid --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-nonfree --enable-libfaac --enable-libmp3lame --enable-libspeex --enable-libvorbis --enable-libtheora --enable-libvpx --enable-libopenjpeg --enable-libfreetype --enable-doc --enable-gnutls --enable-shared --disable-indev=jack
或者应用补丁来解决缺少的信号量类型