首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序之间的共享代码

应用程序之间的共享代码
EN

Stack Overflow用户
提问于 2013-07-09 13:50:18
回答 2查看 215关注 0票数 0

我想在我的游戏和我的游戏编辑器之间共享我的模型。游戏是在cocos2d框架下开发的,包含c++和Objective-C代码。编辑器是在Qt (在Windows7ATM上开发)中完成的。这个模型是纯C++的(没有特定于平台的东西)。

我在工作中遇到过类似的问题,我通过将共享代码导出为项目并为其创建存储库来解决它。然后我会将其添加为子项目,并根据需要对其进行更新,尽管我不确定是否可以向Qt添加子项目。它实际上就像一个静态库存储库,是编辑器和游戏存储库的子存储库,但我不确定如何做到这一点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-09 13:56:31

听起来你要找的是Git submodules (重点是我的):

在处理一个项目时,您需要在其中使用另一个项目,这种情况经常发生。可能是第三方开发的库,也可能是您单独开发并在多个父项目中使用的库。在这些场景中会出现一个常见的问题:您希望能够将这两个项目视为独立的项目,但仍然可以在另一个项目中使用另一个项目……

Git使用子模块解决了这个问题。Git子模块允许您将一个存储库保留为另一个Git存储库的子目录。这使您可以将另一个存储库克隆到您的项目中,并使提交保持独立的

您还可以阅读有关submodules on the Git docs的更多信息。

票数 2
EN

Stack Overflow用户

发布于 2013-07-09 22:03:55

Subtree merging是另一种选择。

有关git-subtree脚本背后的详细信息,请参阅thisthis (按硬核程度递增的顺序)。

引用后一本手册:

在某些情况下,您希望在项目中包含来自独立开发的项目的内容。只要没有冲突的路径,你就可以从另一个项目中拉出。

有问题的情况是存在冲突的文件。潜在的候选文件是Makefiles和其他标准文件名。您可以合并这些文件,但您可能不想这样做。这个问题的一个更好的解决方案是将项目合并为它自己的子目录。递归合并策略不支持这一点,因此仅拉不起作用。

您需要的是子树合并策略,它可以在这种情况下帮助您。

git-subtree脚本(在其相对较新的版本中包含在Git的contrib部分中)促进了子树合并。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17540881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档