C++模块文件需要通过 `CXX_MODULES` 文件集加入项目,但此文件集类型不支持 INTERFACE,这意味着模块需要在自身的项目中编译。而启用模块又要指定 C++ 标准,这意味着一旦模块库本身和使用方的 C++ 标准不同(比如模块库设定了20,使用方却是 23)就会发生重定义问题。而目前的各种解决方案都很丑陋。
暂无评论
C++模块文件需要通过 `CXX_MODULES` 文件集加入项目,但此文件集类型不支持 INTERFACE,这意味着模块需要在自身的项目中编译。而启用模块又要指定 C++ 标准,这意味着一旦模块库本身和使用方的 C++ 标准不同(比如模块库设定了20,使用方却是 23)就会发生重定义问题。而目前的各种解决方案都很丑陋。