内容目录
查了一圈发现没有答案,果然还是踩坑体质触发了吗,那只能自己研究一下为什么了,报错:
platform.c
D:\Project\SchEngine\Source\Render\ThirdParty\glfw-3.4\src\platform.c(63,26): warning C4034: sizeof 返回 0 [D:\Project\Sc
hEngine\Build\Source\Render\Render.vcxproj]
D:\Project\SchEngine\Source\Render\ThirdParty\glfw-3.4\src\platform.c(143,26): warning C4034: sizeof 返回 0 [D:\Project\S
chEngine\Build\Source\Render\Render.vcxproj]
posix_module.c
posix_poll.c
posix_thread.c
正在生成代码...
D:\Project\SchEngine\Source\Render\ThirdParty\glfw-3.4\src\platform.c : fatal error C1001: 内部编译器错误。 [D:\Project\SchEng
ine\Build\Source\Render\Render.vcxproj]
(编译器文件“D:\a\_work\1\s\src\vctools\Compiler\Utc\src\p2\main.c”,第 242 行)
要解决此问题,请尝试简化或更改上面所列位置附近的程序。
如果可以,请在此处提供重现步骤: https://developercommunity.visualstudio.com
请选择 Visual C++
“帮助”菜单上的“技术支持”命令,或打开技术支持帮助文件来获得详细信息。
“D:\Software\VS2022\VC\Tools\MSVC\14.40.33807\bin\HostX64\x64\CL.exe”中的内部编译器错误
请选择 Visual C++
“帮助”菜单上的“技术支持”命令,或打开技术支持帮助文件来获得详细信息
CL!RaiseException()+0x6c
CL!RaiseException()+0x6c
CL!InvokeCompilerPassW()+0x9077f
CL!InvokeCompilerPassW()+0xfa5dd
经过我的一番查找,因为这是一个多平台的库,所以各种代码混杂在同一个文件夹之中,而我在 CMake 中将所有的文件都加到库里了,所以可能导致 MSVC 碰到了一些其他平台的代码导致无法解析从而发生错误。
解决方案也很简单,只需要将 GLFW 源码自带的 CMakeLists.txt 添加到子文件夹中即可,同时修改 CMake 删除 example 和 test 两个模块。