嘿,伙计们,我想创建一个独立于机器的自包含C项目。举个例子?我想在一台没有安装外部库(但包含在我的项目中)的机器上“创建”我的所有项目,并且我希望所有的项目都能继续工作:)我所说的库是GSL,你可以在libgsl0-dev ubuntu包中找到它。现在,我想在我的项目中包含所有的头文件和.c文件,卸载包,项目必须像以前一样构建和运行:)想法?谢谢!再见!
发布于 2010-12-07 18:32:20
不要忘记依赖关系。
像GSL这样的库作为独立的实体分发是有原因的:
用户可以独立于使用该库的软件升级该库,从而使您不必在GSL版本更改时不断更新您的项目。
许可问题。
依存性。如果GSL具有依赖关系,并且您想要将GSL构建为项目的一部分,那么您还需要包含所有dependencies...and、它们的dependencies...and、它们的dependencies...and等的所有源代码。如果你打算要求已经安装了一些子依赖项,那么你也可以要求已经安装了GSL。
其他原因我不能费心去想,因为我有其他事情要做。
发布于 2010-12-07 18:28:50
只需将库的源代码复制到项目层次结构中的某个位置,然后开始创建或修改Makefile(或任何GSL使用的文件)来构建它。
例如,您可以将其放在目录external/libgsl中,然后为执行构建的项目设置Makefile目标。然后,您可以使项目的代码依赖于库的代码,以便始终首先生成库。
当然,您还需要考虑在分发项目时可能出现的任何许可证问题。
https://stackoverflow.com/questions/4375348
复制相似问题