1

Objective-C - 是属于 C 组语言的一种语言。

C++在这种情况下,我可以在我的 iOS 项目中使用任何库,对吗?

我怎样才能做到这一点?有什么建议么?

4

2 回答 2

3
  • 如果您希望将库的源代码集成到您的应用程序中,那么您的问题确实是tilo提到的How can I use C++ with Objective-C in XCode

  • 如果您希望使用已构建的库(例如.so文件),您需要:

    1. 创建你的 Xcode 项目
    2. 将库包含在您的资源中
    3. 将标题添加到您的项目中
    4. 在运行时加载库(见下面的代码)

.

    // 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 中执行此操作。

于 2013-04-09T11:47:03.363 回答
0

是的你可以。您的 C++ 库通过 C 链接公开绑定,您可以直接在 Objective-C 中使用,或者您可以使用 Objective-C++ 访问 C++ 绑定。

于 2013-04-09T11:37:42.883 回答