Android编译Assimp出现报错cannot find “-lpthread“

问题情景

最近在学OpenGL,终于到模型导入部分了,然后说要自己编译Assimp,我寻思那就试试吧,好嘛果然试试就逝世,出现了大难题,提示cannot find “-lpthread”

解决思路

遇到编译问题还能有啥问题,直接谷歌呗。不过在此之前我先尝试了是不是ndk版本的问题,当前使用的是21.3.6528147版本的,报这个错,但是切换到16.1.4479499版本的时候,发现报的是std::stoi找不到的问题,这个应该是ndk版本造成的了。

上面的尝试解决不了问题,那就网上找。由于报的是找不到lpthread,网上得到的答案是,最新的ndk将该文件移到其他地方去了
Android编译Assimp出现报错cannot find “-lpthread“
然后进一步搜寻,这个文件是和单元测试有关的,需要禁用这个属性,查找了一下,有说在各种地方设置DASSIMP_BUILD_TESTS这个属性的,不过都不行,最后则是在build文件中进行设置,如下:
Android编译Assimp出现报错cannot find “-lpthread“

在此问题解决。

后记

这个Android编译assimp的教程网上还真是不多,或者都是你抄我我抄你的,主要都是采用命令行或者外部的cmake进行编译,用Android studio的比较少,如果你需要Android上编译的教程,参考这个人的就可以,然后遇到的bug就只有这个,不过编译出来的包真心大啊,100来M,别人编译的好像就30M多,有点迷惑。最后提一点,如果你遇到其他的问题而且不好找,建议善用关键字搜索。
如果你需要编译好的包,可以联系我发送给你。

问题关键解决地址:https://www.thinbug.com/q/49666372