所以我以前遇到过一些问题,但是我删除了旧的问题并将其更新到了这个问题。在这里:
我想在我的iOS Swift项目中使用C ++库。在这个社区的帮助下,我将我的库编译为静态库(.a文件)。现在我创建了一个新项目来测试它,我只做了以下步骤:
1。 创建新的Swift项目
2。 构建阶段 - >将二进制文件链接到库添加我的库(like so)
3。 添加新C ++文件,不添加头文件,添加桥接头,内容如下:
// Wrapper.cpp
extern "C" void test()
{
//Just to test the swift - c++ connection later this file
//shall import the main header of the library.
}
// CAS Test-Bridging-Header.h
void test();
但是现在,当我编译时,我得到this error(你也可以在左边看到我的项目层次结构)。
提前感谢您的帮助!
答案 0 :(得分:1)
要让Xcode找到您至少有两个选项的库:
在构建设置下设置库搜索路径。这可能很麻烦,因为您必须确保为正确的体系结构构建库,例如模拟器或实际设备,并使用适当的路径。
创建新工作区,将库项目和应用项目添加到工作区。在app target的Build Phases中,在单击Link Binary with Libraries部分中的+号后弹出的对话框中选择静态库(.a)文件。 Xcode将为正确的架构构建库,并将应用程序与正确的静态库链接。
现在,无论您是选择上面的选项1还是2,为正确的体系结构构建库可能都很棘手。一些事情要尝试:
还可以选择将C ++库源直接包含到Swift项目中。
查看此帖子是否有用:Compiling external C++ library for use with iOS project。