模块和cmake
首先需要指定cmake的最低版本为3.28(3.28才支持扫描模块)
1 | cmake_minimum_required(VERSION 3.28) |
然后需要设置C++的标准为C++20(C++20才有模块),并启用了对C++模块的支持。
1 | set(CMAKE_CXX_STANDARD 20) |
创建了一个名为simple_module
的库。1
2add_library(simple_module
)
将几个.cppm
文件作为C++模块添加到simple_module
库中。1
2
3
4
5
6
7target_sources(simple_module
PUBLIC
FILE_SET CXX_MODULES FILES
simple.cppm
simpe_1.cppm
simple_2.cppm
)
这行代码创建了一个名为untitled1
的可执行文件,其主文件为main.cpp
。
1 | add_executable(untitled1 main.cpp) |
最后,将simple_module
库链接到untitled1
可执行文件。
1 | target_link_libraries(untitled1 simple_module) |
完整代码如下
1 | cmake_minimum_required(VERSION 3.28) |
注意,编译器需要支持对模块的扫描
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 A blog!