码迷,mamicode.com
首页 > 其他好文 > 详细

CMake构建NDK项目提示asm/types.h找不到

时间:2020-01-26 15:47:46      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:uil   方法   手动   内容   toolchain   目录   pes   通过   too   

用CMake构建NDK项目时,会传入toolchain的cmake脚本文件android.toolchain.cmake给CMake。这个文件中会做若干设定,其中就包括include路径。

我遇到的情况是,自己手动修改CMAKE_C_FLAGSCMAKE_CXX_FLAGS时,覆盖了它们原有的(android.toolchain.cmake修改后的)值,导致asm/types.h找不到。

我的错误设定:

set(CMAKE_C_FLAGS "${MY_CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${MY_CMAKE_CXX_FLAGS}")

正确做法应该是追加内容而非修改:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_CMAKE_CXX_FLAGS}")

P.S. 排查方法:由于我是基于ninja构建的(cmake+ndk的组合下,现在通常用ninja),通过对比”能正常构建的工程“和”提示asm/types.h找不到的工程“之间${CMAKE_BINARY_DIR}目录下的rules.ninjabuild.ninja来发现问题所在。

CMake构建NDK项目提示asm/types.h找不到

标签:uil   方法   手动   内容   toolchain   目录   pes   通过   too   

原文地址:https://www.cnblogs.com/zjutzz/p/12234200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!