【问题标题】:Compiling Apple frameworks for simple command line programs为简单的命令行程序编译 Apple 框架
【发布时间】:2012-02-24 10:01:17
【问题描述】:

我有一个用 C 和 Objective-C 编写的简单程序。它由我桌面上的一些文件组成,我使用以下命令从终端编译:

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

我想用我的代码生成一个音频文件,为此需要我在 .h 文件中使用的 AudioToolbox 框架

#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 行的错误,我认为这是一个单独的问题。其他错误似乎与无法访问框架有关。我该如何纠正这个问题?

【问题讨论】:

    标签: objective-c c command-line terminal


    【解决方案1】:

    您必须将 AudioToolbox 框架与-framework 链接:

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

    【讨论】:

      猜你喜欢
      • 2011-01-27
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多