1

我在互联网上找到了这个项目:https ://github.com/x2on/OpenSSL-for-iPhone 。

它有一个演示应用程序,可以计算 MD5 值并从编辑框中获取文本输入。在演示应用程序中,我可以进入计算 MD5 值的 OpenSSL 代码。

我正在使用 XCode 4.3.2。我有一个项目也使用 OpenSSL。在项目中,SSL 握手出现问题(此代码在 OpenSSL 中执行)。

虽然我已经使用“x2on”中的构建脚本构建了库(libcrypto.a 和 libssl.a)并将这些库添加到我的项目中,但我无法从我自己的项目中进入对 OpenSSL 方法的调用。

当我将设置与我自己的应用程序进行比较时,我也找不到演示应用程序中存在的任何相关设置(来自“x2on”)。如果我尝试进入 OpenSSL 调用,则执行将继续进行到下一行(我没有进入 .asm 代码,也没有进入 OpenSSL 代码)。此外,如果我使用鼠标右键并选择“跳转到定义”,它会将我带到 OpenSSL 头文件而不是实现 (.c)。

有人可以在这里给出一些提示吗?一般而言,“步入”应该如何工作?库 (.a) 是否包含对源代码位置的引用?在 XCode 中哪里可以设置源代码的搜索路径?如何强制 XCode 重新索引包括 OpenSSL 代码在内的代码并使“跳转到定义”工作?

感谢任何帮助,因为我确实发现了更多正在或一直在努力解决这个问题的人。

补充:我创建了一个小型测试应用程序,将 libcrypto.a 和 libssl.a 添加到 Frameworks 文件夹,并将 OpenSSL 头文件的路径包含在 Build Settings | 标题搜索路径。步入一段 OpenSSL 代码/方法没问题...但是,当我将相同的策略应用于我的大型项目时,它会跳过 OpenSSL 调用而不是步入 OpenSSL 调用...我听说每个项目应该只引用一次静态库吗?如果项目多次引用静态库,那么这是否会破坏单步执行该库代码的功能......?

忘了补充:对于小型测试应用程序,无需指明 OpenSSL 源文件的位置。所以我的初步结论是 .a 库包含对 OpenSSL 源文件的引用(否则 XCode 怎么可能知道源文件的位置?)。

分享一些进一步的信息:在我的大型项目和测试应用程序中,都无法通过选择“跳转到定义”来跳转到源代码。因此,进入代码和“跳转到定义”似乎/无关。

4

0 回答 0