2010-12-07 68 views
1

嘿家伙, 我想创建一个独立的C项目以独立于机器。 一个例子?我想在没有安装外部库(但包含在我的项目中)的计算机上“制作所有”我的项目,并且我希望所有人都继续工作:) 我正在谈论的库是GSL,您可以在其中找到它libgsl0-dev ubuntu包。 现在,我想要在我的项目中包含所有的头文件和.c文件,卸载软件包,并且项目必须像以前一样构建和运行:) 想法? 谢谢! 再见!使用外部库创建一个自包含的项目

+0

你以后有什么样的想法?你似乎已经自己想出了这个策略。你坚持什么? – 2010-12-07 10:05:51

回答

0

只需将库的源代码复制到项目的层次结构中,然后开始创建或修改Makefile(或任何GSL使用的)以使其生成。

例如,您可以将它放在目录external/libgsl中,然后为您的项目建立一个Makefile目标。然后你让项目的代码依赖于库,这样库就总是先构建好。

当然,您还需要考虑分发项目时可能出现的任何许可证问题。

1

不要忘记依赖关系。

是有原因就像GSL库分布为独立的实体:

用户可以independantly使用它节省您不必不断更新你的项目时,GSL版本更改该软件的升级库。

许可问题。

依赖。如果GSL具有依赖性,并且您希望将GSL作为项目的一部分构建,那么您还需要包含所有依赖关系的源代码...及其依赖关系...及其依赖关系......等等。如果您打算要求已经安装一些子依赖项,那么您可能需要安装GSL。

其他原因我不能想象,因为我有其他事情要做。

+0

由于该项目仅用于学习目的(大学考试项目),所以许可证并不是一个问题,但依存关系可能是一个问题。事实上,我认为我会从2或3个效用函数写出来,并将GSL留在抽屉里:) – 2010-12-07 13:13:14

相关问题