cost 75 ms
如何使用CMake构建带有C++23标准库模块(import std)的项目? - How to use CMake to build a project with C++23 standard library module(import std)?

众所周知,C++23 支持标准库模块。 直到 2023 年 5 月,MSVC 都支持它,但我们需要手动添加标准库模块,如Microsoft 博客所述。 但是如何在CMake项目中使用import std呢? 微软博客没有提到它。 而这些文件不能工作。( std.ifc文件取自微软博客教程: cl ...

带有 git 个子模块的未解析外部符号 - Unresolved external symbols with git submodules

我有一个包含 2 个项目的解决方案: 一库static(杏仁) 使用该 static 库的项目(沙盒) 除了我使用的是 C++20 模块外,我正在观看和关注 The Cherno 的游戏引擎系列。 他通过git submodule add了spdlog 。 我做了同样的事情。 然后我将$(Solut ...

有没有一种方法可以在 macOS 上使用 c++20(modules,viewsy,range..) 编译带有 cmakelists 的项目 - Is there a way to compile on macos a project with cmakelists using c++20(modules,viewsy,range..)

我在这个论坛上看到一篇文章: Apple Clang 13 C++20 Module Support Missing 但它有点编译,我想用模块制作一个 cmake 的项目。 但我不知道该怎么做。 我一直在寻找这方面的信息,但我找不到上面的链接.. ...

如何在 C++23 中将标准库宏与 std 模块一起使用 - How to use standard library macros with std module in C++23

我目前正在玩 C++ 模块,试图使我们公司的代码 C++ 基础现代化,以将模块用于核心功能。 特别是即将推出的 C++23 std模块,它作为预编译头文件的更好替代品似乎非常有趣。 所以我使用的是Visual Studio 2022 17.5 Preview 2.0,它初步支持std模块。 顺便说一 ...

Header 只有库作为模块? - Header only library as a module?

我正在编写一个仅模板化的 header 库。 它没有state,没有全局变量,没有需要编译的.cpp。 是否可以将其作为模块导出/使用? 如何? 有什么好处? 有哪些陷阱? 我可能希望用户拥有一些方便的宏。 那些呢? 我找到了一个使用#ifdef...的示例来满足模块和老式案例的需求。 我想我想避 ...

与 C++20 模块和私有片段的循环依赖 - Cyclic dependencies with C++20 modules and the private fragment

私有模块片段是否可以像实现源文件一样用于打破循环依赖? 此示例使用 Visual Studio 2022 预览版。 这是一个在没有私有模块片段的情况下成功编译的示例,我希望您如何解决这个问题。 ModuleA.ixx ModuleA.cpp ModuleB.ixx ModuleB.cpp main. ...

如果 C++ 模块分区 B 导入模块分区 A,分区 A 导入的任何内容在分区 B 中是否也可见? - If a C++ module partition B imports module partition A, is anything imported by partition A also visible in partition B?

在一个有分区的模块中,我注意到如果一个分区导入另一个分区,则第二个分区导入的所有内容在第一个分区中也可见。 这是正确的行为还是编译器中的错误? 我正在使用 VS2022。 假设我们有一些模块 Foo: 我们还有另一个带有两个分区的模块 Bar: 第一个分区导入模块 Foo: 第二个分区导入第一个分 ...

为什么模块分区不间接导入由其主要模块接口单元导入的模块? - Why doesn't a module partion indirectly import the module imported by it's primary module interface unit?

考虑这个例子马.cpp: MB.cpp: MA-PA.cpp: 主.cpp: CMakeLists.txt: 使用 GCC(v 12.2): g++ -std=c++20 -fmodules-ts编译示例时,报错: 用Visual Studio 2022(v 17.4.1)编译时,报类似的错 ...

C++20 模块是如何编译的? - How are C++20 modules compiled?

一些消息来源说编译器解析模块并创建抽象语法树(AST),然后在解析导入模块的所有代码文件时使用它。 与 #include 头文件相比,这将减少编译器必须执行的解析量,但是对于导入模块的每个代码文件,所有内容仍然必须编译一次。 其他消息来源说模块只编译一次。 模块是如何以及何时编译的,这对编译时的内 ...

VS2022 C++20 E3309 导出声明无法导出具有内部链接的名称 - VS2022 C++20 E3309 an export declaration cannot export a name with internal linkage

导出模块命名空间变量时会发生这种情况。 它按预期编译和工作,但 Intellisense 似乎不同意。 它是智能感知错误还是具有副作用的未定义行为? 尝试了未命名/匿名命名空间与 static 函数,但仍然出现相同的错误。 环境:windows11 VS2022 ISO C++latest,带有 E ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM