1

如何使用 C++ 在 Mac OS 上实现加载 dll(又名框架)的函数?
void LoadFramework(const char* frameworkPath) { //frameworkPath is the absolute path of the framework }

编辑:
当我在谷歌上搜索这个问题时,我大多以 dlopen 解决方案来加载框架。我正在寻找的是使用CFBundleCreate来加载框架。在我看来,需要调用一堆方法来从 const char * 路径构造 URL。我找到了需要的代码,无法编写一个全面的解决方案。

4

2 回答 2

1

在 Mac 中打开框架通常只需几行简单的代码,类似于:

bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
    CFSTR("/System/Library/Frameworks/<your_framework_name.framework>"),
    kCFURLPOSIXPathStyle, true);

bundle = CFBundleCreate(kCFAllocatorDefault, bundleURL);
assert(bundle != NULL);

该片段中的几乎所有内容都有据可查。我建议在问题中添加更多详细信息,以了解哪些具体不适合您。

于 2019-11-25T13:01:06.807 回答
0

为什么不这样做?

using DLL_Namespace;

这应该使您可以访问 DLL。

于 2019-11-26T22:24:31.920 回答