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