Android C++开发使用log-lib库时遇CMake NOTFOUND错误求助
解决Android NDK CMake中log-lib NOTFOUND错误
你的CMake配置存在两处问题导致了这个错误:
- 重复链接log库:在
target_link_libraries中同时写了log和${log-lib},导致CMake无法正确解析变量引用 - 变量命名不规范:
log-lib带横杠,虽然CMake允许,但下划线命名(如LOG_LIB)更符合CMake惯例,能避免潜在解析问题
修复方案一(最简写法,推荐)
直接去掉find_library步骤,Android NDK的log是标准系统库,CMake可以直接识别:
cmake_minimum_required(VERSION 3.10) add_library( score_printer SHARED src/main/main.cpp ) target_link_libraries( score_printer android log )
修复方案二(保留find_library写法)
如果坚持使用find_library,修正变量命名并避免重复引用:
cmake_minimum_required(VERSION 3.10) add_library( score_printer SHARED src/main/main.cpp ) find_library( LOG_LIB log ) target_link_libraries( score_printer android ${LOG_LIB} )
额外检查
确保Android项目已正确配置NDK路径:在Android Studio中通过File > Project Structure > SDK Location确认NDK路径已设置,且使用的NDK版本与CMake版本兼容(CMake 3.10建议搭配NDK r18及以上版本)
内容的提问来源于stack exchange,提问作者Jungwon
相关产品推荐
相关产品推荐

