2

OSX 对 Window 的 .DLL 文件的回答是一个“捆绑包”,或者我一直在阅读,但我不太清楚如何开始将 libgit2 构建成可用的东西。

我通常在 Windows 上工作,并且正在开发一组将在Unity3D中使用的插件。到目前为止,插件采用 Windows .DLL 文件的形式。但是,在 Mac 上使用 Unity3D 工作的开发人员无法使用该插件,因为它依赖于构建为libgit2 的 git2.dll 的本机代码。

根据 Unity3D 关于为桌面平台构建插件的文档,我需要以某种方式构建一个原生的bundle. 说明指向使用 XCode 执行设置捆绑项目的任务,但是在如何构建它时我似乎迷失了方向。

根据 libgit2 项目页面上的文档,我可以使用该CMake GUI实用程序

[...]生成特定于平台的构建项目或 IDE 工作区

但是,生成的 XCode 项目似乎不是一个bundle project,而是某种其他类型的项目,至少就我的目的而言,它是“垃圾文件”。

Unity3D 描述的捆绑包的预期格式是什么?

我怎样才能“混合-n-匹配”,从而可以构建一个 XCode 捆绑项目,只需从项目中的 libgit2 存储库中删除所需的文件,然后点击构建以获得我之前的问题中请求的格式?

4

1 回答 1

2

Windows 上的 DLL 是一个动态库,类似于.dylibMac OS 上的。.dylibCMake 规则将在 Mac OS 上创建一个。

使用默认的 gcc 目标:

% git clone https://github.com/libgit2/libgit2
% cd libgit2
% mkdir build
% cd build
% cmake ..
% make -j8
% ls -Flas libgit2*.dylib
1348 -rwxr-xr-x  1 ethomson  staff  1379120 Apr  3 16:55 libgit2.0.17.0.dylib*
   4 lrwxr-xr-x  1 ethomson  staff       20 Apr  3 16:55 libgit2.0.dylib@ -> libgit2.0.17.0.dylib
   4 lrwxr-xr-x  1 ethomson  staff       15 Apr  3 16:55 libgit2.dylib@ -> libgit2.0.dylib

如果您使用 XCode 而不是 gcc/clang 目标,这应该是您正在构建的目标的目录。就我而言,Debug.

于 2013-04-03T21:58:34.960 回答