我有一个跨平台的C++项目。在这个项目中,我们使用了几个第三方,静态编译的库,这些库非常庞大且不易构建。在源代码树中包含预编译的库
目前,我们的源代码树是这个样子:
|
+-3rdparty
| +-include (initially empty)
| +-lib (initially empty)
| +-some-library
| +-another-library
|
+-source
当检查出的代码,开发者首先生成并安装“一些库”和“其他库”。安装步骤会将正确的文件放入include和lib文件夹,然后他们可以构建我们的项目。
为了更容易地构建我们的项目,我正在考虑删除“some-library”和“another-library”,而只是将include和预编译的二进制文件放入include和lib文件夹中。这样,一个新的开发者只需要检查项目,并立即建立。
我的问题是:
它是一个不好的做法,这样做呢? (即:将预编译的库包括到您的源代码树中)。
什么潜在的问题/缺点可以从这个设置产生的?
对于几个平台(Windows,Mac OSX和Linux),您建议考虑哪个文件夹组织?
附加说明:我们正在使用Mercurial。
可能的重复[可以(应该)我把第三方库在版本控制?](http://stackoverflow.com/questions/1710027/can-should-i-put-3rd-party-libraries-in-版本控制) – durron597 2015-09-16 18:05:11