当我尝试调用我的C ++实现文件中的函数时(在#ifdef __cplusplus extern“C”{}技巧的标题中标记为C兼容),我收到错误:
“使用未解析的标识符'helloWorld()'”
我只是通过向项目添加cpp和头文件并在询问是否要创建桥接头时单击“确定”来创建桥接头。我在桥接头中#including“test.h”,里面有函数声明,但由于某种原因,Swift看不到该函数。
最奇怪的部分是,我创建了一个新项目,并且执行了相同的EXACTWorld(),并且调用helloWorld()工作正常,所以我正在尝试将cpp文件添加到现有项目中
我当时假设这是一个构建设置问题,并且我必须把它们搞砸到某个地方,可能是在我尝试导入静态C / CPP库时(我已经删除了) ,但我改变的一些构建设置可能仍然存在)。
那么我应该知道的任何构建设置会解决这个问题吗?或者有没有办法将我的构建设置完全重置为默认值(即使这意味着我必须重新创建桥接头以使桥接头构建设置恢复原位)?
感谢您的帮助!
詹姆斯
--- ---编辑
这是我的cpp标题:
这是我的cpp实现文件:
这是我的桥接标题:
以下是Swift项目的相关部分:
以下是设置桥接标头的构建设置: