我有一个用 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 行的错误,我认为这是一个单独的问题。其他错误似乎与无法访问框架有关。我该如何纠正这个问题?
最佳答案
您必须将 AudioToolbox 框架与 -framework
链接:
$ gcc -framework Foundation -framework AudioToolbox audio.m WavReader.m WavFileCreator.m -o audio
关于objective-c - 为简单的命令行程序编译Apple框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9100641/