中文注释可能导致Visual Studio编译C/C++项目时出现C1070错误
错误描述:尝试升级KTransformers,使用Visual Studio 2022(版本17.11.3)的MSVC C/C++编译器编译ktransformers\third_party\llamafile\iqk_mul_mat.inc文件时出现C1070错误(文件中的#if/#endif对不匹配):
8>E:\ktransformers\third_party\llamafile\iqk_mul_mat.inc(4921,1): error C1070: 文件“E:\ktransformers\third_party\llamafile\iqk_mul_mat.inc”中的 #if/#endif 对不匹配
8>(编译源文件“../../../third_party/llamafile/iqk_mul_mat_amd_avx2.cpp”)
8>E:\ktransformers\third_party\llamafile\iqk_mul_mat.inc(4921,1): error C1070: 文件“E:\ktransformers\third_party\llamafile\iqk_mul_mat.inc”中的 #if/#endif 对不匹配
8>(编译源文件“../../../third_party/llamafile/iqk_mul_mat_amd_zen4.cpp”)
错误处理:手动检查ktransformers\third_party\llamafile\iqk_mul_mat.inc文件以及Git提交记录未发现导致#if/#endif对的匹配关系损坏的问题。后发现该文件中包含中文注释,将中文注释改为英文后再次编译,问题解决。
参考资料:
https://blog.csdn.net/weixin_42892101/article/details/120791797
页面版本: 2, 最后编辑于: 25 Apr 2025 19:11