gpt4 book ai didi

c++ - 如果存在 boost,则有条件地编译

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:48:45 31 4
gpt4 key购买 nike

我想有条件地编译一些使用 boost 的 c++ 代码,并使其在 boost 不存在时不会尝试编译依赖于 boost 的代码。

boost 是否有将要定义的任何全局宏,如 __BOOST__,我可以检查?

编辑: 现在我很清楚我必须在 makefile 级别上实现它。我正在研究 OSX 狮子。使用 gnu 制作

最佳答案

完成此操作的典型方法是使用“配置脚本”或类似的方法,检测是否存在必需/可选组件,然后有选择地为构建系统设置一些 -D 选项。

显然,如果它只是您自己的项目或小型发行版,您可以手动执行相同的操作。

如果有您需要的库文件,您可能还需要在 Makefile 中进行一些 ifdef 类型的选择。

确定是否安装了所需的 boost 部分的一种更简单的方法是尝试对其进行编译。如果有错误,可能的原因是 boost 的那部分不存在(如果缺少更重要的部分,这显然不起作用 - 例如,没有安装编译器或标准库也会导致编译到失败。这就是为什么几乎所有配置类型工具“都从最基本的功能开始,然后沿着依赖关系树向上移动”)。

关于c++ - 如果存在 boost,则有条件地编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18804030/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com