cost 100 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 ...

C++20 模塊 std.ixx STL 靜態/全局 Scope 參考

[英]C++20 Modules std.ixx STL Static/Global Scope References

按照 Microsoft 的說明,我無法構建 std 模塊並且沒有版本控制錯誤,所以我繼續並添加了文件: C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.35.32213\modules\std.ixx ...

有沒有一種方法可以在 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++ 模塊:子命令失敗

[英]C++ Module: subcommand fails

我正在測試 C++ 中的模塊,但我不斷收到以下錯誤: linker input file unused because linking not done 和 這是我編寫的以下代碼: 模塊:A.cppmexport module A; export namespace Lib_A { in ...

如何在 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. ...

與 clang 共享庫中的額外模塊名稱符號

[英]extra module name symbol in shared library with clang

我正在使用從源代碼構建的 clang-git 16.0.0 在 Arch Linux 上使用 clang 創建一個簡單的共享庫。 庫名為 libsum,它提供 function 來計算兩個整數的和。// liba.cc export module liba; namespace space { ...

在C++模塊中使用QSet和CRTP

[英]Using QSet and CRTP in C++ module

我正在嘗試將我的一些 C++ 代碼庫從使用 header 文件轉換為使用模塊。 這是編譯和工作的.h / .cpp對:// Graph.h #pragma once #include <QSet> template<class NodeT> struct GraphTyp ...

如果 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 頭文件相比,這將減少編譯器必須執行的解析量,但是對於導入模塊的每個代碼文件,所有內容仍然必須編譯一次。 其他消息來源說模塊只編譯一次。 模塊是如何以及何時編譯的,這對編譯時的內 ...

如何分發 C++20 模塊?

[英]How to distribute C++20 modules?

所有關於模塊的文獻都是最近才出現的,我正在為一個核心概念而苦苦掙扎。 當我制作自己的模塊時,在鏈接過程之后,是否存在一種常規或可接受的方式 package 這些模塊將它們作為庫分發? ...

Visual Studio 2022 - 模塊(智能感知錯誤)

[英]Visual Studio 2022 - Modules (Intellisense errors)

我有 3 個文件,分別是 engineering.cpp、engineering.ixx 和 system.ixx。 內容簡要如下: 系統.ixx: 工程.ixx 工程.cpp 在另一個 cpp文件中,我將其用作: 該項目編譯和運行良好,但在engineering.cpp智能感知給出99+ 錯誤和 ...

Clang 錯誤,包括 C++ 項目中的標頭

[英]Clang error including headers in C++ projects

C++ 項目,在其版本 14 上使用Clang ,Windows 作為操作系統,語言級別高達c++20 。 所以采取下一個代碼: main.cpp編譯為: clang++ --std=c++20 -stdlib=libc++ -fmodules -fimplicit-modules -fbuil ...

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 ...

將外部函數鏈接到 C++20 模塊

[英]Link external function to C++20 Modules

我想從 C++ 模塊中引用非模塊外部( extern )函數。 不幸的是,使用普通方法 pre-Modules 似乎不起作用: 在 Visual Studio 2022 中產生此問題: error LNK2019: unresolved external symbol "unsigned ch ...

如何在 C++20 中使用附加模塊依賴

[英]How to use Additional Module Dependencies in C++20

我在一個文件夾中創建了一個 TestModule.ixx,我想在我的 cpp 項目中使用import TestModule (在不同的文件夾中)。 我試過TestModule=E:\XXX\TestModule.ixx.ifc; 在屬性-> 附加模塊依賴項中,但出現錯誤 lnk2019。 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM