我正在尝试为 Nuke 编译一个与 boost 库有依赖关系的插件。我已经填写了 headers/libs 搜索路径并添加了库以将二进制文件与 XCode 中的库链接。
它编译得很好,但是当 Nuke 尝试加载我的插件时,会弹出错误消息:
未加载库:libboost_atomic-mt-libstdc++.dylib
我相信必须在 XCode 中破解更多内容。有任何想法吗?
对于 macOS,NUKE 插件需要使用 GCC 4.0 构建才能兼容。使用 LLVM 或 GCC 4.2 几乎不会产生兼容的插件。在 macOS 上,NUKE 是基于 Snow Leopard 构建的,因此 The Foundry 建议第三方开发人员也这样做!如果您在最新版本的 macOS 上构建,它们通常与旧版本不兼容。
生成的共享对象文件 (.dylib)应移动到您的~/.nuke目录(或NUKE plugin_path)。
如果您想使用 Intel 编译器进行构建,请在您的 makefile 中将其替换为 g++,但是您必须确保 libstdc++ 包含来自 GCC 4.0 安装的库才能兼容。另外建议使用 10.6 SDK 来构建插件。
但是,有些人说您可以安装 GCC 4.2(通过 Homebrew)并可能使用该版本进行编译。但这取决于你的情况。
阅读 Julik 关于构建 NUKE 插件的帖子(2014 年)一定很有用:http: //live.julik.nl/2014/12/the-hell-of-building-nuke-dylibs