Gus*_*Gus -2 c c++ makefile header-files
我经常下载一个 C/C++ 项目并试图编译它只是为了玩它。几乎 100% 的时间makeorconfigure命令失败,我都会沿着依赖树的一部分走下去,遇到一个我不知道如何解决的错误,然后放弃。这可能是一个比头文件更广泛的问题,但似乎该make过程经常需要在特定位置为特定版本的库提供一些 .h 文件,而我的系统上没有这些文件。
如果项目需要这些特定的头文件,作者为什么不将它们复制到项目源代码树中呢?一般来说,要求以这种特定方式设置开发机器是不是很疯狂?如果有人想在两个项目上工作,并且他们需要头文件的冲突版本怎么办?
一个明显的解决方案是在构建过程中包含一个 Dockerfile,但我感兴趣的是这种情况最初是如何出现的,以及是否有一些理由不只包含必要的头文件,这似乎至少是部分解决方案.
头文件有什么好处?您需要实际的库,而不仅仅是头文件。
那么他们为什么不包括整个图书馆呢?
有些图书馆非常大。比程序大得多。
因为它们很大,编译它们需要很长时间。
您不想为每个项目在您的计算机上安装每个库的单独副本。这是在浪费空间,如果两个不同的版本试图互相交谈会发生什么?
库会更新,并且您不希望每次更新库时都必须更新您的项目。
版权意味着您不能在未经许可的情况下合法地赠送图书馆的副本。通常图书馆的创建者会给你许可。有时他们不会。
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |