Qt6.5.x コンパイル エラー: エラー: C2872: "バイト": あいまいなシンボル

以前は Qt5 を使用していましたが、最近 Qt6 に切り替えたため、多くのコンパイルエラーが発生しました。

1. コンパイルエラー:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\rpcndr.h:192: エラー: C2872: “バイト”: あいまいなシンボル C:\Program Files (x86)\Windows Kits
\ 10\include\10.0.19041.0\shared\rpcndr.h(192): エラー C2872: “バイト”: あいまいなシンボル
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared\rpcndr。 h(191): 注: 「符号なし文字バイト」である可能性があります
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\cstddef(28 ): 注:または「std::byte」

2. 理由:

std::byte のあいまいなシンボルと rpcndr.h
実際には、C++17 と 1 つの Windows ヘッダーの間に競合があります。

3. 解決策:

方法 (1) では、名前空間 std を使用しません。

方法(2) 名前空間 std を使用する前に #include <windows.h> を追加します。

例えば:

#include <windows.h>
名前空間 std を使用します。

おすすめ

転載: blog.csdn.net/libaineu2004/article/details/131413997