missing and no known rule to mak

2018-06-29  本文已影响0人  miniminiming

一、平台问题

Error:error: '../../../../src/main/jniLibs/x86/libstblur_preview_api.so', needed by '../../../../build/intermediates/cmake/debug/obj/x86/libjnistblur_preview_api.so', missing and no known rule to make it

遇到好几次这个情况了,之前好像做了记录,但是总找不到,再记一次。
看日志,这里 /x86/ 这个是关键,还是平台支持问题。目前这个项目只支持'armeabi-v7a','armeabi' 这两个平台,所以在CMakelists.txt里也是只配置了这两个平台的支持库。
所以与此同步,在build.gradle中,也是要指定ndk的平台,否则它默认编译全平台,就会报错

        ndk {
//            moduleName "stblur_preview_api"
            //过滤,只使用这个版本的库,否则默认的可是4个平台
            abiFilters 'armeabi-v7a','arm64-v8a'
        }

二、代码缓存问题

报一个c++的类missing and no known rule to make it,但是这个类我确认过没有地方使用,已经删掉了。修正方式如下图,清一下C++的缓存就可以了。

image.png
上一篇下一篇

猜你喜欢

热点阅读