【问题标题】:issue in using ObjectiveC++ compiler使用 Objective C++ 编译器的问题
【发布时间】:2015-09-15 19:31:06
【问题描述】:

我制作了一个应用程序,其中有一些 Objective C++ 文件扩展名为 .mm 和一些 Objective C 文件扩展名为 .m

我的应用程序运行良好,直到我需要添加 Philips HUE SDK

当我下载项目时,我得到了两件事: 1.HUE SDK 2. 伐木工人文件夹

当我在我的应用程序中添加 Lumberjack 文件夹并构建我的项目时,我在 Lumberjack 的每个 .m 文件中都会遇到错误。

我得到的错误:

Assigning to 'void *' from incompatible type 'const char[1]'

我尝试将编译器更改为ObjectiveCAccording to file type

但我仍然得到错误。

我也尝试在 Lumberjack 文件中添加 -fno-objc-arc,但它也不起作用。

他们是否可以通过任何方式在我的项目中添加 HUE SDK。我一直在寻找解决方案。

编辑

当我删除伐木工人文件夹时,我在 HUE SDK 文件中收到此错误

【问题讨论】:

  • 如果您不需要 Lumberjack 日志记录,请从您的项目和 Philips HUE SDK 代码中删除并使用它。
  • 我没明白你...当我删除我在 HUE SDK 文件中得到错误
  • 我搜索了所有文件,但我没有发现这些文件的任何用途,所以我删除了..但现在我在 HUE 文件中遇到错误
  • @zaph 我更新了我的问题
  • 你好像不见了PHSimpleRuleCondition.h

标签: ios objective-c compiler-errors xcode6 philips-hue


【解决方案1】:

您显然是在混合 Objective-C 和 Objective-C++。在 C++ 和 Objective-C++ 中,没有从任意指针类型到 void* 的自动转换。那是你的问题。

移除 ARC 似乎属于“实验性编程”的范畴。对您的代码进行任意、无动机的更改,并希望它有所帮助。是什么让您认为删除 ARC 会以任何方式影响您的代码?

以下是您需要做的事情:找出“void*”和“const char [1]”的来源,然后更改其中一个,或者在代码中为 void* 添加强制转换。

【讨论】:

    猜你喜欢
    • 2012-03-09
    • 1970-01-01
    • 2015-09-25
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 2016-08-19
    相关资源
    最近更新 更多