原因:调用的msvc编译器为32位的版本,其可操作的最大内存空间为4GB,若编译程序时需要调用超过4GB的内存空间时,就会触发这个报错。
解决办法:使用vscode + msvc编译cmake工程时,CmakeTools会扫描出四个msvc编译器如下图所示:
它们分别对应这vs的安装目录下的以下四个cl.exe文件:
只需要选择amd64或amd64_x86的编译器即可,这两个编译器本身都是64位的,能调用超过4GB的内存空间。区别在于带有_x86后缀的编译产生的可执行文件为32位,不带此后缀的则会生成64位的可执行文件。