问题 如何使用Xcode在C ++项目中添加静态库


我正在开发一个 C ++ 项目使用 Xcode中  4.6.1 在旁边。 现在,我想添加一个静态库 mylib.a 和相关的标题 mylib.h

我读到了 这个解决方案,但它不起作用(点击时 目标依赖关系,盒子仍然是空的)。

有没有办法实现这个任务?


更新:

我创造了一个 ,然后我添加了文件 mylib.a 在上面。它似乎工作正常,但在编译时会出现如下警告:

ld: warning: ignoring file /Users/vdenotaris/Desktop/Code/MyStaticLib/mylib.a, file was built for archive which is not the architecture being linked
(i386):/Users/vdenotaris/Desktop/Code/MyStaticLib/mylib.a

9397
2018-04-12 14:06


起源

可能重复 如何在Xcode 4中“添加现有框架”? - jww
可能重复 如何将.a C静态库添加到Xcode并在那里使用它? - Eonil


答案:


如果您的静态库是由另一个创建的,则使用目标依赖项 的XCode 项目,您希望包含此项目,以便您可以轻松地在您的库和相应的应用程序上进行开发。

如果您想要包含外国图书馆,您可以选择目标 具体目标 在那里你选择部分 建立阶段 那里有你的区域 链接二进制文件库 在这个区域你可以添加你的库 拖放 或与 + 标志。

要添加包含路径,请在下面选择项目 项目 你在那里选择区域 构建设置 你在那里 搜索路径 要点 标题搜索路径 这应该包括标题所在目录的路径。

设置之间的差异 项目 要么 目标 是那个 项目 它设置所有目标的默认设置。在 目标 你可以改变每个设置 目标

编辑 对于链接错误,这两个答案可能会有所帮助:


13
2018-04-12 14:30



非常感谢你的回答。我在我的项目中链接 mylib.a和 my lib.h;现在,当我构建时,出现以下警告: ld: warning: ignoring file /Users/vdenotaris/Desktop/Code/MyStaticLib/mylib.a, file was built for archive which is not the architecture being linked (i386): /Users/vdenotaris/Desktop/Code/MyStaticLib/mylib.a。我该如何解决这个错误? - vdenotaris
@vdenotaris你在开发iOS应用程序吗? - t.niese
不,我正在为我的硕士论文开发一个C ++应用程序。 - vdenotaris
请出示 架构, 有效的架构 和 支持的平台 对于静态库和应用程序。 - t.niese
我认为所考虑的静态库是为x64构建的,而我的项目是基于i386 arch。 - vdenotaris