zoukankan      html  css  js  c++  java
  • CMake构建NDK项目提示asm/types.h找不到

    用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来发现问题所在。

  • 相关阅读:
    JSP 学习笔记1
    XML scriptlet 连接数据库
    JSP 定义行列数表单创建表格
    JSP_01
    JS创建表格完整
    04-基本的mysql语句
    03-MySql安装和基本管理
    02-数据库概述
    01-MySql的前戏
    爬虫系列
  • 原文地址:https://www.cnblogs.com/zjutzz/p/12234200.html
Copyright © 2011-2022 走看看