Clang和MSVC已经支持来自未完成的C ++ 20标准的Modules TS。我可以使用CMake或其他构建系统来构建基于模块的项目吗?
根据this和CMake 3.28,我们应该能够import std
无需任何额外的努力。但我在下面的简单演示中遇到了错误Module 'std' not found。
import std;
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
cmake_minimum_required(VERSION 3.28)
project(module_tst)
set(CMAKE_CXX_STANDARD 23)
add_executable(demo)
target_sources(demo
PRIVATE
main.cpp
)
Run Code Online (Sandbox Code Playgroud)
import std只要我检查了C/C++ -> General -> Scan Sources for Module Dependencies. 我在 cmake 文档中发现了类似的内容,CXX_SCAN_FOR_MODULES但将其设置为没有任何区别。有什么遗漏吗?
我正在使用最新的 cmake 3.28 rc1 和 VS 17.8.0 Preview 4.0