【问题标题】:Compiling in Xcode fails because linked lib isn't found在 Xcode 中编译失败,因为未找到链接库
【发布时间】:2009-03-06 08:59:25
【问题描述】:

我的 iPhone 应用程序中的一些 C 代码需要 openssl 库。 所以我把这个库放到了我的项目中。

但是当我编译它时,Xcode 会抛出一些错误:

错误:openssl/ssl.h:没有这样的文件或目录

这是我的代码:

 #include <openssl/ssl.h>

Xcode 中的目标设置:

alt text http://img17.imageshack.us/img17/2266/bild3tez.png

我缺少哪一步才能正确链接它?

【问题讨论】:

    标签: iphone objective-c xcode openssl


    【解决方案1】:

    这不是链接问题。这是预处理器无法找到头文件。您需要检查该标头的最终位置,并可能更改 Xcode(或您的项目)的设置以包含该位置。

    【讨论】:

      【解决方案2】:

      由于这似乎是针对 iPhone 的,因此您不会找到它。 OpenSSL 在 iPhone 上不可用,对第三方应用程序也不可用。为模拟器编译可能会起作用,因为它有各种真实设备没有的东西。让它为手机编译是不可能的——找不到标头,因为它不存在,如果你以某种方式欺骗它使用不同的副本,它将无法链接。

      【讨论】:

      • 这是错误的:可以编译 OpenSSL 以在 iPhone 设备上运行。
      • 也许是现在,但这个答案是在 19 个月前写的,在 iPhone OS 3 发布之前,远在当前的 iOS 4 之前。当时它是​​准确的,但当然情况会发生变化。跨度>
      【解决方案3】:

      好吧,当找不到链接的库时,我现在去这里查看我需要链接到哪个库/框架。

      我知道您的问题是其他问题,但这应该对其他人有用。

      http://developer.apple.com/iPhone/library/documentation/Xcode/Conceptual/iphone_development/910-A-iPhone_Simulator_Frameworks/iphone_simulator_frameworks.html

      另外,要链接库,请转到 xcode 的目标区域。展开该区域,直到找到“将二进制文件与库链接”。右键单击并添加现有框架。单击底部的加号,然后找到您需要的库并添加它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-15
        相关资源
        最近更新 更多