Objective-C - 是一种属于C组语言的语言。
在这种情况下,我可以在我的iOS项目中使用任何C++
库,我是对的吗?
我该怎么做?有什么建议吗?
答案 0 :(得分:3)
如果您希望将库的源代码集成到您的应用程序中,那么您的问题确实与How can I use C++ with Objective-C in XCode提到的tilo重复
如果您希望使用构建的库(例如.so
文件),则需要:
// 1. Load library
void *lib = dlopen("path/to/you/lib.so", RTLD_LAZY);
// 2. Handle errors (load failed)
if (!lib)
{
fprintf(stderr, "dlopen(): %s\n", dlerror());
exit(EXIT_FAILURE);
}
// 3. Get lib functions addresses
any_library_function = (void *)GetProcAddress(lib, "any_library_function");
// 4. Use the functions
any_library_function(…);
注意: 您可能需要将使用该代码的源文件从.m
重命名为.mm
。最好是在创建文件后直接在Xcode中执行此操作。
答案 1 :(得分:0)
是的,你可以。您的C ++库使用可直接在Objective-C中使用的C链接公开绑定,或者您可以使用Objective-C ++来访问C ++绑定。