我正在开始一个新的C项目,主要是基于OSS的。它也将在SourceForge上,我想借此机会学习组织这类代码的最佳实践。我使用libcurl和libz这样的库,并使用MinGW和MSYS编译它。组织C项目代码及其外部库的最佳方式是什么?
我将分发我使用我的projet所有库的源代码,因此下载源代码的人不必去啄食并寻找依赖关系。我应该将这些库存储在哪个目录中?到目前为止,我犹豫之间:
- lib,因为它们是库。但是,'lib'在UNIX世界中具有不同的内涵。
- src,因为它们是源文件。
- 第三方,因为我没有写它。
我应该在哪里编译这些库?我应该简单地配置并将它们安装到系统根目录下,还是应该建立一个目录,在这个目录中所有库都应该编译并链接到该目录?显然,这将对我的Makefile产生影响。
我应该怎么办?有没有建立我应该遵循的约定?他们是否写下某个地方?