以前は 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 を使用します。