到目前为止,我只能在Objective C或Swift中编写WatchOS应用程序的代码。
我想在WatchOS上使用一些C ++代码库。
每次尝试包含它们时,都会出现诸如
这样的编译时错误错误:未知的类型名称“类”
int MyUtil::MyFunction(int value1_)
{
return value1_ * 2;
}
答案 0 :(得分:0)
是的,您可以通过带有电话和手表组件的Objective C应用程序亲自在WatchOS应用程序中包含C ++代码。
开始时,您可能必须手动将标题搜索路径和/或源文件添加到项目设置中(“构建阶段”->“编译源”)。同样,您可能需要手动将库添加到链接器设置(“构建阶段”->“使用库链接二进制文件”)。
稍微烦人的问题是处理C ++名称修改问题。解决此问题的方法是在C中创建一个抽象层。换句话说,我的Objective C代码调用了我用C编写的函数,该函数又称为C ++库。如果采用这种方法,请确保不要在C语言头文件中包含任何C ++头,否则您将再次处理名称处理问题。