Компиляция платформ Apple для простых программ командной строки - PullRequest
2 голосов
/ 01 февраля 2012

У меня есть простая программа, написанная на C и Objective-C.Он состоит из нескольких файлов, которые находятся на моем рабочем столе, которые я компилирую из терминала, используя это:

gcc -framework Foundation audio.m WavReader.m WavFileCreator.m -o audio

Я хочу сгенерировать аудиофайл с моим кодом, и для этого требуетсяПлатформа AudioToolbox, которую я включаю в файл .h, используя

#import <AudioToolbox/AudioToolbox.h>

При компиляции я получаю эту ошибку:

WavFileCreator.m: In function ‘createNewWAV’:
WavFileCreator.m:61: warning: initialization makes integer from pointer without a cast
Undefined symbols for architecture x86_64:
  "_AudioFileCreateWithURL", referenced from:
      _createNewWAV in cckeb4pu.o
  "_AudioFileWriteBytes", referenced from:
      _createNewWAV in cckeb4pu.o
  "_AudioFileClose", referenced from:
      _createNewWAV in cckeb4pu.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

Игнорируем ошибку в строке 61Я считаю, что это отдельная проблема.Другие ошибки, по-видимому, связаны с невозможностью доступа к платформе.Как я могу это исправить?

1 Ответ

4 голосов
/ 01 февраля 2012

Вы должны связать каркас AudioToolbox с -framework:

$ gcc -framework Foundation -framework AudioToolbox audio.m WavReader.m WavFileCreator.m -o audio
...