如何在Xcode中使用像“libstk.a”这样的静态库?

问题描述:

我想在我的Xcode中使用The Synthesis ToolKit in C++ (STK)库。我使用“--with-core”配置选项在我的Mac上编译它的源代码。我在框架下将“libstk.a”添加到Xcode中。如何在Xcode中使用像“libstk.a”这样的静态库?

我想我可以做以下我的源使用STK库:

#include "Stk.h" 

然而,随着“找不到文件”,这是一种什么意义,因为该文件是不是Xcode的错误在我的项目中。我如何使用它?我知道我在这里错过了一些非常基本的东西。提前致谢。

+0

只需提供源文件的路径,如'#include“〜/ work/mySources/STK/stk.h”'。如果只使用'#include“Stk.h”',则标题必须位于当前工作目录中。 – SingerOfTheFall 2012-07-16 08:23:17

+0

您是否在项目中包含了与.a文件相关的所有标题? – Iducool 2012-07-16 08:24:48

您将需要配置Xcode项目的标题搜索路径。相对于当前的项目而言,而不是绝对的;例如:

$(PROJECT_DIR)/../libstk/include 
+0

太棒了!但是,它会发出警告: ld:warning:忽略文件/stk-4.4.3/src/libstk.a,该文件是为归档而构建的,而不是被链接的体系结构(i386) 显然它有一个引用到静态库最初编译的位置。我如何摆脱这个警告? – docchang 2012-07-16 08:59:52

+0

@docchang您需要创建一个Xcode工作区并将两个项目添加到该工作区,并在需要时构建正确版本的库。 – trojanfoe 2012-07-16 09:12:50

+0

我试过了,但似乎有点太复杂。我想我现在只会接受警告。谢谢。 – docchang 2012-07-16 09:48:42