【发布时间】:2013-03-25 15:34:00
【问题描述】:
OSX 对 Window 的 .DLL 文件的回答是一个“捆绑包”,或者我一直在阅读,但我不太清楚如何开始将 libgit2 构建成可用的东西。
我通常在 Windows 上工作,并且正在开发一组将在 Unity3D 中使用的插件。到目前为止,插件采用 Windows .DLL 文件的形式。但是,在 Mac 上使用 Unity3D 工作的开发人员无法使用该插件,因为它依赖于构建为 libgit2's git2.dll 的本机代码。
根据 Unity3D 在 Building Plugins for Desktop Platforms 上的文档,我需要以某种方式构建原生 bundle。说明指向使用 XCode 执行设置捆绑项目的任务,但是在如何构建它时我似乎迷失了方向。
根据 libgit2 项目页面上的文档,我可以使用 CMake GUI 实用程序来
[...]生成平台特定的构建项目或 IDE 工作区
但是,生成的 XCode 项目似乎不是 bundle project,而是某种其他类型的项目,至少就我的目的而言,它会构建“垃圾文件”。
Unity3D 描述的捆绑包的预期格式是什么?
我怎样才能'Mix-n-Match',从而我可以构建一个 XCode 捆绑项目,只需从项目的 libgit2 存储库中的某个地方删除所需的文件,然后点击构建以获得请求的格式我之前的问题?
【问题讨论】:
-
您现在正在构建 Mac
.dylib吗?您提到 Mac 用户不能使用git2.dll- 这当然是真的,您需要先构建一个 Mac 共享库。 -
我不确定从 CMake 生成的默认 XCode 项目文件中构建的确切内容,因为它似乎都是垃圾。我会尝试筛选并查看某处是否有
.dylib。如果我能找到它,我可以将其重命名为.bundle、per this post 并使用它。 -
有。
libgit2.dylib应该在你的构建目录中生成。 -
您是否使用 XCode 的默认 CMake 构建对其进行了测试?抱歉,我的 VNC 被锁定,我被困在工作中,目前无法查看。如果您已经构建了默认设置,并查看了
.dylib,请务必发布您的答案,以便我将其标记为已解决。