在 xcode 4.x 中添加静态库的标头搜索路径混淆?

Posted

技术标签:

【中文标题】在 xcode 4.x 中添加静态库的标头搜索路径混淆?【英文标题】:confusion in Header search path for adding static library in xcode 4.x? 【发布时间】:2013-01-26 03:14:16 【问题描述】:

我对在 xcode 4.5 中添加核心绘图静态库感到困惑。它与 xcode 3.x 版本不同。我尝试了很多东西,它给出了找不到头文件和链接器错误。

我已按照以下步骤操作。在这种情况下,我们必须在 Header 搜索路径中使用递归。有哪位做错了,请帮忙?

1) 在 Xcode 项目中添加 coreplot 库及其头文件。(勾选 用于本地复制)

2) 在项目构建设置中将编译器转换为 LLVM GCC 4.2。(不在 目标构建设置)

3) thumb 的编译器将为 "NO"

4) 在项目构建设置中添加标题搜索路径为 递归的 "$(SRCROOT)/Libs/CorePlot/CorePlotHeaders"

5) 在目标构建设置中添加标题搜索路径为 $(继承)

6) 库搜索路径在目标和项目中都为空 构建设置。

7)-ObjC 被添加到目标构建中的其他链接器标志中 settings.Removed -all_load 从它。

8) 在目标和项目构建中,搜索路径始终为 YES 设置。

9) 仅构建存档架构将是YES

【问题讨论】:

请发布您遇到的确切编译器/链接器错误。 嗨,请告诉正确的集成步骤和注意事项,以避免 .h 文件未找到,库链接器错误? 在项目中添加 Core-plot 的官方文档。 http://code.google.com/p/core-plot/wiki/UsingCorePlotInApplications. 【参考方案1】:

几天前我在尝试以这种方式添加CorePlot 时遇到了同样的问题,但我发现有一个更简单的过程:

    将 CorePlotHeaders 目录复制到您的 Xcode 项目中

    将 Core Plot 库复制到您的 Xcode 项目中。

    打开您的应用目标构建设置,其他链接器标志包括:

-ObjC(-all_load 曾经需要作为链接器标志,但在 Xcode 4.2 中不再需要)

    将 QuartzCore 框架添加到项目中。

    将项目构建设置中的 C/C++ 编译器更改为 LLVM GCC 4.2 或 LLVM 1.6。

就我而言,我不需要更改我的C/C++ Compiler 来使CorePlot 工作

【讨论】:

以上是关于在 xcode 4.x 中添加静态库的标头搜索路径混淆?的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 9.2 中缺少标头搜索路径、库路径和链接路径部分

XCode3 - 库搜索路径和项目框架之间的关系

如何把文件加入linux系统中

makefile里怎么指定库的路径

将项目中的标头包含到静态库中

如何在Xcode中使用静态库