【发布时间】:2013-09-14 16:44:05
【问题描述】:
我想有条件地编译一些使用 boost 的 c++ 代码,并使其在不存在 boost 时不会尝试编译依赖于 boost 的代码。
boost 是否有任何可以定义的全局宏,例如 __BOOST__,我可以检查?
编辑:现在我很清楚我必须在 makefile 级别上实现这一点。我正在研究 OSX 狮子。使用 gnu make
【问题讨论】:
-
要定义这样的宏,您首先必须包含一个 boost 标头...如果不安装它会很困难!我最好的选择是在 makefile 级别检测到这一点。因此,答案将取决于您的构建系统。
-
@syam 好点,我没想到,但我仍然希望完成条件编译
-
通常,您会使用构建工具检测 boost,并有条件地设置一个宏——然后您可以将其用于条件编译。后一部分很简单,但是如果您不告诉我们您正在使用哪个构建系统/编译器/环境(例如 CMake、autotools...),我们就无法回答第一部分。
-
@syam 查看编辑
-
@aaronman 通过查看 CMake、Ant、Maven、Ninja、automake 等内容,让您的生活更轻松。
标签: c++ macos boost conditional-compilation