是否可以在WatchOS / WatchKit应用中使用C ++代码

时间:2019-05-09 21:14:27

标签: c++ watchkit

到目前为止,我只能在Objective C或Swift中编写WatchOS应用程序的代码。

我想在WatchOS上使用一些C ++代码库。

每次尝试包含它们时,都会出现诸如

这样的编译时错误
  

错误:未知的类型名称“类”

int MyUtil::MyFunction(int value1_)
{
    return value1_ * 2;
}

1 个答案:

答案 0 :(得分:0)

是的,您可以通过带有电话和手表组件的Objective C应用程序亲自在WatchOS应用程序中包含C ++代码。

开始时,您可能必须手动将标题搜索路径和/或源文件添加到项目设置中(“构建阶段”->“编译源”)。同样,您可能需要手动将库添加到链接器设置(“构建阶段”->“使用库链接二进制文件”)。

稍微烦人的问题是处理C ++名称修改问题。解决此问题的方法是在C中创建一个抽象层。换句话说,我的Objective C代码调用了我用C编写的函数,该函数又称为C ++库。如果采用这种方法,请确保不要在C语言头文件中包含任何C ++头,否则您将再次处理名称处理问题。