2013-06-25 1 views
1

У меня возникла проблема с компиляцией x264 (http://www.videolan.org/developers/x264.html) на Mac с инструментами командной строки из XCode. Следующие шаги не работают:Устранение неполадок x264 на Mac OS X

git clone git://git.videolan.org/x264.git 
cd x264 
./configure 
make 

Это заканчивает тем, что дает вам следующее сообщение об ошибке:

gcc -Wshadow -O3 -ffast-math -m64 -Wall -I. -I. -falign-loops=16 -mdynamic-no-pic -arch x86_64 -std=gnu99 -mpreferred-stack-boundary=5 -I/usr/local/include -I/usr/local/include -fomit-frame-pointer -fno-tree-vectorize -c -o x264.o x264.c 
In file included from ./extras/cl.h:27, 
       from common/opencl.h:31, 
       from common/common.h:209, 
       from x264.c:33: 
./extras/cl_platform.h:64:10: warning: #warning This path should never happen outside of internal operating system development. AvailabilityMacros do not function correctly here! 
In file included from common/opencl.h:31, 
       from common/common.h:209, 
       from x264.c:33: 
./extras/cl.h:1165: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cl_mem’ 
./extras/cl.h:1175: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cl_mem’ 
./extras/cl.h:1187: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cl_int’ 
./extras/cl.h:1191: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cl_int’ 
./extras/cl.h:1196: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cl_int’ 
./extras/cl.h:1199: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cl_int’ 
./extras/cl.h:1202: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘void’ 
make: *** [x264.o] Error 1 

Как вы компилировать x264 для Mac OS X с последними инструментами XCode командной строки?

ответ

1

После некоторых обвинений в вещах я написал следующий сценарий, который решил проблему. Отправьте его здесь для других:

#!/bin/bash                                               

set -e 

platform="MacOSX" 
SDK="MacOSX10.8" 

checkExists() { 

    if [ ! -e $1 ] 
    then 
     echo "Didn't find: $1 -- try to locate parts of this to see how to fix the path" 
     exit 1 
    else 
     echo "using $1" 
    fi 

} 

root="/Applications/Xcode.app/Contents/Developer/Platforms/${platform}.platform/Developer" 
oldRoot="/Developer/Platforms/${platform}.platform/Developer" 

if [ ! -d "${root}" ] 
then 
    newRoot="${root}" 
    root="${oldRoot}" 
fi 

if [ ! -d "${root}" ] 
then 
    echo " " 
    echo "Oopsie. You don't have an SDK root in either of these locations: " 
    echo " ${newRoot} " 
    echo " ${oldRoot}" 
    echo " " 
    exit 1 
fi 

export CC="/usr/bin/gcc" 
export CFLAGS="-isysroot ${root}/SDKs/${SDK}.sdk -I ${root}/usr/include" 

checkExists ${CC} 
checkExists ${root}/SDKs/${SDK}.sdk 

./configure --enable-shared --enable-static 

make clean 
make 

 Смежные вопросы

  • Нет связанных вопросов^_^