编译Assimp时出现“warning C4819”的解决方案

发布时间 2023-12-10 01:02:24作者: overxus

  最近又重新捣鼓起了OpenGL, 使用Assimp库加载3D模型,最新(2023/12/9)的版本是5.3.1. 使用cmake编译本是一件简单的事情:

cmake .
cmake --build .

  然而,Visual Studio 2022却报错:

contrib\clipper\clipper.cpp(3913,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符

  我看了下第3913行附近,也看到什么奇怪的字符。

 

  捣鼓了半个小时,还是不知道问题出在哪儿。后来在网上找到了这篇博客:

 ASSIMP编译失败的问题的解决办法_编译assimp失败-CSDN博客 

  这位博主编译的是4.0.1,因为代码中有日本人的注释,一直编译不通过。于是我耐着性子在clipper.cpp这个文件里查找奇怪的注释,最后终于被我找到了这个:

  在第4333行附近,有一些奇怪的注释,把这些注释删了,就可以正常编译运行啦。如果在其它版本的Assimp中遇到类似的问题,可能也是这个原因,现记录下错误供大家参考。

  很难想象,搞这个花了我一个小时的时间,好气哦。