Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C项目git子模块构建的最佳实践_C_Git_Git Submodules_Autotools - Fatal编程技术网

C项目git子模块构建的最佳实践

C项目git子模块构建的最佳实践,c,git,git-submodules,autotools,C,Git,Git Submodules,Autotools,我有一个C项目使用autotools和make来构建我的项目。我需要使用的代码,据我所知,只能在github上使用。在我的项目中包含此代码的最佳实践是什么?我该怎么做 我能想到的最好方法是使用,这样您就可以将依赖项与存储库捆绑在一起,而不必将它们放在存储库中。这将为您提供两个优势,您的库依赖关系将始终是(最新的),您的git存储库不会因库带来的所有不必要的数据和对象而膨胀。确保使用lib进行构建,并在用户的系统上没有lib时查询用户 C没有任何本机依赖关系管理器 如果任何工具都可以做你想做的事情

我有一个C项目使用autotools和make来构建我的项目。我需要使用的代码,据我所知,只能在github上使用。在我的项目中包含此代码的最佳实践是什么?我该怎么做


我能想到的最好方法是使用,这样您就可以将依赖项与存储库捆绑在一起,而不必将它们放在存储库中。这将为您提供两个优势,您的库依赖关系将始终是(最新的),您的git存储库不会因库带来的所有不必要的数据和对象而膨胀。确保使用lib进行构建,并在用户的系统上没有lib时查询用户

C没有任何本机依赖关系管理器


如果任何工具都可以做你想做的事情,而且基本上可以做任何事情,你可以研究一下

这个问题太广泛了。看见但是,您可能希望将其添加为git子模块,以使源代码显示为父项目的子目录。然后,您可以将目录添加到Makefile.am。我更新了我的响应,您可能会对它感兴趣。IMO,子模块的最佳做法是像瘟疫一样避免它们。如果您依赖某个库,请使用实际的软件包管理工具安装该库,而不是尝试使用您的vcs。