如何将libgit2编译成OSX应用程序包?

时间:2013-04-03 19:30:24

标签: macos unity3d libgit2

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描述的捆绑包的预期格式是什么?

我如何'混合匹配',我可以构建一个XCode包项目,只需从项目的某个地方的libgit2存储库中删除所需的文件,然后点击构建以获取所请求的格式我之前的问题?

1 个答案:

答案 0 :(得分:2)

Windows上的DLL是动态库,类似于Mac OS上的.dylib。 CMake规则将在Mac OS上创建.dylib

使用默认的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