c++ - 将 C++ 添加到 Objective-C,cryptlib.h 和 curl.h 的#include 错误

标签 c++ objective-c xcode

编辑:好的,我解决了我最初概述的无法找到 curl 和 cryptlib header 的问题。但是,在通过使用 macports 安装 curl 和 libcryptopp 解决了这些问题之后,我在相关文件中遇到了无数错误。不过,我将此答案标记为完整

我正在尝试将 Mega.co.nz 客户端 SDK 添加到 Objective-C XCode 项目中。客户端用 C++ 编写,带有 .h 头文件和 .cpp 实现文件。 XCode 将这些识别为需要使用 C++ 编译器进行编译(我推测)。

在这一点上,我要做的就是让项目编译无误。此时我收到两个错误,它们都在某些 #include 语句中。

#include <curl/curl.h> 'curl/curl.h file not found'
#include <crypto++/cryptlib.h> 'crypto++/cryptlib.h file not found'

我认为这与我没有安装正确的组件或没有在 XCode 中正确引用有关。我应该链接静态库来获取这些 header 吗?是否需要更改项目设置以在特定目录中搜​​索以查找这些文件?

如能提供帮助,万分感谢。

最佳答案

Xcode 无法找到上述 header 。这是因为它们不在包含路径中。这很可能是两个原因之一。

  1. 您没有安装上述库。
  2. 您没有为构建配置添加正确的路径(如果您使用的是 macports,则为/opt/local/include)

尝试的解决方案:

  1. 确保您确实安装了 Curl 和 cryptopp (crypto++)(即自己编译它们或使用 macports 或 brew 等包管理器)

  2. 确保您的构建包含这些文件的路径(查看 xcode 项目设置中的“ header 搜索路径”

附言。不要考虑链接之类的——这与它无关。在你实际编译代码后你会遇到这些问题 - 即在链接阶段:)

关于c++ - 将 C++ 添加到 Objective-C,cryptlib.h 和 curl.h 的#include 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17604667/

相关文章:

c++ - 全局变量在头文件中声明为静态时没有链接器错误

C++ 循环链表 : remove element

ios - iOS 8 中的 AVAudioRecorder 不处理 kAudioFormatMPEG4AAC

iphone - 覆盖单个单元格或部分的 tableView.separatorStyle

iOS:TouchXML xmlReadMemory VS xmlParseMemory

c++ - 根据 C++ 标准,该程序在哪个确切语句中表现出未定义的行为?

c++ - 预处理器定义需要表达式的函数

ios - 当我的应用程序未处于事件状态时,PushNotification 角标(Badge)编号不显示?

ios - 从 Storyboard 而不是 nib 加载自定义 TableViewCell

swift - 使用 rxSwift 绑定(bind)数据时内存泄漏