c++ - Objective-C和C++混合编译错误 “_OBJC_CLASS_$_UIResponder”

标签 c++ ios objective-c

当我将 PlatFormFactory.cpp 更改为 PlatFormFactory.mmenter image description here

怎样才能编译成功?

我的核心代码很糟糕,我不想在 C++ 中调用 Objective-C 对象

IOSCallBack.mm:

#include "IUdpCallBack.h"
#import "RicUDP_ObjC_Client.h"
@class RicUDP_ObjC_Client;

IOSCallBack::IOSCallBack()
    {
        m_pCallBack = NULL;
    }

    IOSCallBack::~IOSCallBack()
    {
        m_pCallBack = NULL;
    }

    void IOSCallBack::SetCallBack(void* pCallBack)
    {
        m_pCallBack = (__bridge RicUDP_ObjC_Client *)pCallBack;
    }

    void IOSCallBack::on_notify_mqttaddr(const char *szAddr, int port, const char *topic)
    {
        printf("%s\n", szAddr);
    }

最佳答案

我通过将 OTHER_LDFLAGS build设置设置为 -ObjC, -WI, -undefined, -dynamic_lookup 标志(行目标),修复了将 Objective-C 源代码嵌入到由 Unity 生成的项目时的类似问题和 OTHER_LDFLAGS build设置为 -ObjC 标志(行项目)。

关于c++ - Objective-C和C++混合编译错误 “_OBJC_CLASS_$_UIResponder”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43928731/

相关文章:

c++ - QTableView 不显示任何内容

ios - 如何在 xcode 中水平均匀分布按钮

ios - 使用 UIAlertController 的项目。如何使用 Xcode 5.1 构建 IPA 文件?

objective-c - 跟踪系统事件

c++ - MultiByteToWideChar 终止带有垃圾的输出缓冲区,但未报告任何错误。为什么?

java - 重定向标准输出和标准输入 - Java

c++ - 用作推力迭代器 CUDA 的参数

ios - 如何打开保存在我的笔记本中的数据(使用核心数据模型保存)

ios - 将文件写入 iCloud 驱动器错误域=NSCocoaErrorDomain 代码=256

iOS自定义UIActivityItemProvider分享图文