要让gn使用MSVC的C++20编译选项,可以在相应的target配置中添加cflags和cflags_c等变量,并将其设置为"/std:c++20"。具体步骤如下:
需要注意的是,要使用C++20特性,还需要确保使用了支持C++20的库和头文件。
这样配置后,gn将会向MSVC传递"/std:c++20"编译选项,从而开启C++20支持。
如果需要为多个target配置C++20支持,可以将上述代码复制到其他需要配置的target中即可。
-
在WebRTC源码目录下,找到m108版本的BUILD.gn文件,可以在rtc_build_tools/BUILD.gn或tools_webrtc/BUILD.gn中找到。
-
找到需要编译的target,如"webrtc_libvpx_internal",在其配置项中添加如下代码:
cflags = [ "/std:c++20", ] cflags_c = [ "/std:c++20", ]
-
保存文件并重新运行gn命令生成相应的build目录。
-
运行ninja进行编译。