温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CMakelists样例

发布时间:2020-05-21 15:51:29 来源:网络 阅读:1236 作者:dhj_chip 栏目:移动开发

1.cmake版本需求

cmake_minimum_required(VERSION 3.4.1)

2.定义目录

set(COMMON_DIR ${PROJECT_DIR}/src/main/cpp/common)
set(TOOLKIT_DIR ${PROJECT_DIR}/src/main/cpp/toolkit)
set(LIBYUV_DIR ${TOOLKIT_DIR}/libyuv/libs)
set(LIBYUV_INCLUDE_DIR ${LIBYUV_DIR}/include)

3.依赖的头文件目录

include_directories(${COMMON_DIR}
${LIBYUV_INCLUDE_DIR}
${TOOLKIT_DIR})

4.链接库目录

link_directories(${LIBYUV_DIR}/${ANDROID_ABI})

5.定义生成库

add_library(Toolkits
SHARED
${TOOLKIT_DIR}/jni_interface.cpp)

6.根据cpu类型,设置特殊配置

if( ${ANDROID_ABI} MATCHES "armeabi-v7a" )

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -mfloat-abi=softfp -mfpu=neon -march=armv7-a -mtune=cortex-a8")

message(${ANDROID_ABI},当前启用neon设置)

endif(${ANDROID_ABI} MATCHES "armeabi-v7a")

7.设置编译参数

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_JNI_LOG=1")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DANDROID_STL=gnustl_static")
set(CMAKE_VERBOSE_MAKEFILE on)

8.目标链接库

target_link_libraries(Toolkits yuv)
target_link_libraries(Toolkits log)

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI