![]() |
注意 |
---|---|
C++20 模块支持尚处于早期阶段,目标、标志和行为可能会在未来发生变化。 |
如果使用现代 CMake,请定义 CMake 选项 -DBOOST_USE_MODULES=1
来构建 C++20 模块,并使 Boost::any
CMake 目标提供它。之后,就可以显式使用 C++20 模块 boost.any
了。
import boost.any; int main() { boost::any a = 42; }
Boost::any
CMake 目标提供了在不同翻译单元中混合使用该库的 include 和 import 的能力。此外,如果定义了 BOOST_USE_MODULES
宏,那么所有 boost/any...
include 都将隐式执行 import boost.any;
,从而在不更改现有代码的情况下,获得模块的所有优势。
![]() |
注意 |
---|---|
为了提高编译速度,请确保在构建 |
如果不使用 CMake,则可以从 modules/boost_any.cppm
文件手动构建模块。
对于手动模块构建,可以使用以下命令与 clang 编译器一起进行。
cd any/modules clang++ -I ../include -std=c++20 --precompile -x c++-module boost_any.cppm
之后,可以按如下方式使用该模块。
clang++ -std=c++20 -fmodule-file=boost_any.pcm boost_any.pcm usage_sample.cpp