【发布时间】:2009-07-09 06:32:15
【问题描述】:
我有一个 C++ 项目,其中有很多依赖项。该项目应该可以在 Linux 和 Windows 上运行,因此我们已将其移植到 CMake。大多数依赖项现在都直接包含在源代码树中并与项目一起构建,因此这些都没有问题。
但是,我们有一个依赖于 Fortran 代码等的二进制文件,构建起来非常复杂。对于 Linux,它也不能作为包提供,而只能作为预编译的二进制文件或完整源代码(需要安装 BLAS 库和其他几个依赖项)。对于 Windows,同样的库可以作为二进制文件使用,为 Windows 构建似乎更加复杂。
问题是,你如何处理这样的依赖关系?只需检查受支持平台的二进制文件,并要求用户设置他的构建环境(即手动指向二进制位置),或者您是否真的尝试编译它们(即使它需要安装10 个库——BLAS 库是这里最大的痛点),还是有其他推荐的方法来处理这个问题?
【问题讨论】:
标签: c++ cross-platform dependencies