我有一个C++项目,我们有负载和负载的依赖关系。该项目应该在Linux和Windows上工作,所以我们已经将它移植到CMake。大多数依赖关系现在都包含在源代码树中,并与项目一起构建,因此这些问题没有问题。处理跨平台的二进制依赖关系
但是,我们有一个依赖于Fortran代码等的二进制文件,构建起来非常复杂。对于Linux,它也不能作为软件包使用,但仅作为预编译的二进制文件或完整源代码(需要安装BLAS库和其他一些依赖项)。对于Windows,相同的库可用作二进制文件,为Windows构建似乎更加复杂。
问题是,你如何处理这种依赖关系?只需检查受支持平台的二进制文件,并要求用户另外设置其构建环境(即手动指向二进制位置),或者是否真的试图让它们一起编译(即使它需要安装10个库--BLAS库是这里最大的难题),还是有其他一些推荐的方法来处理这个问题?
最终用户不应修改二进制文件更容易。唯一的问题是如果最终用户有不同的编译开关,二进制文件可能会变得不兼容,这就是为什么我想知道是否首先检查二进制文件是一个好主意。 – Anteru 2009-07-09 07:26:52