gpt4 book ai didi

c++ - 如果启用了 BOOST,如何检查我的代码?

转载 作者:行者123 更新时间:2023-11-30 01:51:32 25 4
gpt4 key购买 nike

我希望仅在安装了 boost 的情况下启用我的部分代码。

我找到了 this回答和this一。但是,它们用于确定 boost 的版本。

那么像这样的东西会完全安全吗?

#if BOOST_VERSION
// boost code
#endif

如果不行,我该怎么办?

最佳答案

您需要制作自己的宏来进行条件编译(或通过您的构建系统以某种方式控制它)。例如:

#ifdef MYPROJ_HAS_BOOST
# include <boost/filesystem.hpp>
#endif

然后用-DMYPROJ_HAS_BOOST编译(或不)。

你不能依赖 BOOST_VERSION或者来自 Boost 的任何其他东西,因为你不知道你是否有 Boost。你可以做一个假货 <boost/version.hpp>在没有 Boost 的系统上创建头文件,但这有点奇怪,并不比制作自己的项目特定宏更好。

有些编译器会让你 #include <boost/version.hpp并且仅在未找到时发出警告;这可能有效,但会在没有 Boost 的系统上发出看起来很危险的警告,甚至可能会彻底失败。

关于c++ - 如果启用了 BOOST,如何检查我的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26019489/

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