2

我正在尝试使用 Xcode 从 libFLAC 构建一个框架,以在我自己的 Mac OS X 应用程序中使用。

我使用这些 FLAC 资源:

http://sourceforge.net/projects/flac/files/flac-src/flac-1.2.1-src/flac-1.2.1.tar.gz/download

我只需要其中的一些源文件,但我宁愿保持一切原样,这样如果我想用我自己的源分发框架项目,我就可以保留原始的 FLAC 源。

flac-1.2.1.tar.gz 包含以下目录:

flac-1.2.1/include/
flac-1.2.1/src/libFLAC/
flac-1.2.1/src/libFLAC/include/

为了构建 libFLAC,我将 'flac-1.2.1/src/libFLAC' 中的 .c 文件添加到项目中(作为参考)。我还添加了 .h 文件。

源代码中使用的标头位于:

flac-1.2.1/include/FLAC/
flac-1.2.1/include/share/
flac-1.2.1/src/libFLAC/private/

例如,标头的源代码调用是:

#include "private/bitmath.h"
#include "FLAC/assert.h"
#include "private/bitwriter.h"
#include "private/crc.h"
#include "share/alloc.h"

等等

在 Xcode 中,我已将这些“用户标头搜索路径”添加到目标构建设置中:

$(SRCROOT)/flac-1.2.1/include/
$(SRCROOT)/flac-1.2.1/src/libFLAC/include/

当然,我已经将我的 flac-1.2.1 目录放在了正确的位置。

当我想编译时,编译器找不到头文件。我尝试使用 GCC 4.2 和 LLVM 编译器 2.0。我究竟做错了什么?我应该做更多的事情吗?

我是在我的其他全 ObjC 项目中导入 C 源代码的新手,我很乐意尝试你扔给我的任何东西。请避免回答“如果你做不到,你就不应该这样做”。我需要学习这个,我会的。

4

1 回答 1

1

好的,我有答案了,这真的很愚蠢。我的 Xcode 项目文件夹路径本身包含一个空格字符。编译器不喜欢这样;)

于 2011-01-28T15:18:55.907 回答