我正在编写一个 C++ 程序,我想为它使用 Boost 的一些功能(不仅仅是标头模块),并且我正在以源代码形式分发它。我希望它可以在尽可能多的操作系统上运行,但为了具体起见,请使用 Linux。(我更习惯于 Windows,但只要 Boost 适合静态链接,我就可以依赖于发送二进制文件。)
现在,我正在发布一个简单的手写 makefile,所以编译程序的过程只是make
. 但是,当您将 Boost 带入方程式时,我知道这不再有效,因为您无法知道用户机器上可用的版本(如果有),或者头文件和库文件的位置,而应该使用诸如 autotools 或 CMake 之类的构建系统。
它是否正确?如果是这样,如果最高优先级是可靠性(即当用户尝试编译和安装程序时,最大限度地提高其工作的可能性),应该使用哪个构建系统?
(我也计划使用 GMP,如果这有影响的话。)