c++ - 带有 C 接口(interface)的 Objective C 库

标签 c++ c objective-c xcode qtkit

我遇到了一个问题...我正在尝试在我们工作的应用程序中使用 QTKit。唯一的问题是应用程序是用 C++ 编写的,而不是 Obj-C。我查看了 Apple 的文档以寻找答案,但没有找到任何有用的信息。

基本上我想做的是用 Obj-C 编写一个 Controller 类,它的方法通过 C 接口(interface)公开到我的应用程序。我已经编写了所有代码,但是当我尝试将其链接到示例 C++ 应用程序时,它会在库中找到 Obj-C 符号并提示它们在那里。我考虑过使用编译器标志隐藏符号,但我在 Apple 的文档中看到 Obj-C 不受此影响,因为类和消息受运行时而不是链接器的约束。

有人成功过吗?

谢谢, 罗比

最佳答案

您可以通过使用 Objective-C++ 在您的 C++ 应用程序中使用 QTKit:

将访问QTKit的文件从.cpp重命名为.mm。这不会更改现有代码中的任何内容,但您可以在这些文件中使用 Objective-C。

关于c++ - 带有 C 接口(interface)的 Objective C 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1631128/

相关文章:

c++ - 当通过引用访问时,Constexpr 成员函数返回不被视为 constexpr 的模板参数

C++内部类; "nm -C"输出中没有符号

c - 我怎样才能终止系统()?

c++ - 在 c++ 函数中访问 objective-c 类的 ivars

c++ - 在 QT 对象类中声明一个 PCL 点云

c++ - 更准确的 houghline OpenCV

c++ - 从 gettimeofday 创建 ntp 时间戳

c - C 赋值和参数传递会导致隐式转换,还是我们应该显式转换?

objective-c - 将文件路径从 NSString 转换为 NSURL

objective-c - 将 Obj-c 转换为快速长按手势