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存储库中删除所需的文件,然后点击构建以获取所请求的格式我之前的问题?
答案 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
。