KILEYI

导航

VS2017使用assimp 5.0.0 error C2589: '(' : illegal token on right side of '::' 解决办法

坑爹微软Sucks Again.

assimp 终于更新到了5.0.0并且支持GLTF2格式,包含动画正确解析,在viewer中也能看到正确结果,真他喵的不容易,然后拿来编译完到自己项目里用,就出这玩意了,神奇的是编译他自己的viewer就没问题?

不管那么多,百度一下说是std::min之类的问题,解决办法

https://blog.csdn.net/leifeng_soul/article/details/52611390

5,6年前就听说不要用std::min,max做跨平台的东西,再之前编译PBRT源码std::min也有类似问题,自己用的话一定要自己写一套,绝对不能用cpp标准的,因为狗B微软总会时不时的恶心你一下,让标准不标准。

解决方法,简单粗暴把

iNum = std::min((size_t)iNum, prop->mDataLength / sizeof(Type));

 

换成

iNum = std::min<size_t>((size_t)iNum, prop->mDataLength / sizeof(Type));

posted on 2019-10-27 13:19  KILEYI  阅读(1400)  评论(0编辑  收藏  举报