cmakelist配置
来源:互联网 发布:手机熊猫抢福袋软件 编辑:程序博客网 时间:2024/06/08 09:44
add_library(native-lib SHARED src/main/cpp/native-lib.cpp)
多个cpp源文件配置
file(GLOB helloworld_SRC "src/main/cpp/*.cpp")add_library(testlala SHARED ${helloworld_SRC})
多个cpp配置
add_library(testlala SHARED src/main/cpp/native-lib.cpp src/main/cpp/test.cpp)
单个配置
add_library(testlala SHARED src/main/cpp/test.cpp)
gradle 配置
externalNativeBuild { cmake { path "CMakeLists.txt" }// ndkBuild{// path "src/main/cpp/Android.mk"//// } }android { compileSdkVersion 26 buildToolsVersion "26.0.0" defaultConfig { externalNativeBuild { cmake { cppFlags "-frtti -fexceptions -std=c++11" } } ndk { stl "stlport_static" abiFilters "armeabi", "armeabi-v7a" } }}
1、 添加头文件目录,可以多引用,但是不能缺,因为缺了就编译不过
include_directories( "../../../myWindows" "../../../" "../../../include_windows")
2、添加环境变量,请结合实际项目要求,不是必须的
add_definitions( -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT -DENV_UNIX -DBREAK_HANDLER -DUNICODE -D_UNICODE)IF(APPLE) add_definitions(-DENV_MACOSX) FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation )ENDIF(APPLE)
3、源文件
file(GLOB_RECURSE src_files "../../../../C/7zCrc.c" "../../../../C/7zCrcOpt.c" "../../../../C/7zStream.c" "../../../../C/Aes.c" "../../../../C/Alloc.c" "../../../../C/Bra.c" "../../../../C/Bra86.c")
4、设置生成静态库以及名称
add_library(myLibName STATIC ${src_files})IF(APPLE) TARGET_LINK_LIBRARIES(myLibName ${COREFOUNDATION_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})ELSE(APPLE)IF(HAVE_PTHREADS) TARGET_LINK_LIBRARIES(myLibName ${CMAKE_THREAD_LIBS_INIT}) ENDIF(HAVE_PTHREADS)ENDIF(APPLE)
CMakeLists.txt完整示例 yasea 列子
file(GLOB_RECURSE yuv_srcs "src/main/cpp/libyuv/source/compare.cc" "src/main/cpp/libyuv/source/compare_common.cc" "src/main/cpp/libyuv/source/convert.cc" "src/main/cpp/libyuv/source/convert_argb.cc" "src/main/cpp/libyuv/source/convert_from.cc" "src/main/cpp/libyuv/source/convert_from_argb.cc" "src/main/cpp/libyuv/source/convert_to_argb.cc" "src/main/cpp/libyuv/source/convert_to_i420.cc" "src/main/cpp/libyuv/source/cpu_id.cc" "src/main/cpp/libyuv/source/planar_functions.cc" "src/main/cpp/libyuv/source/rotate.cc" "src/main/cpp/libyuv/source/rotate_any.cc" "src/main/cpp/libyuv/source/rotate_argb.cc" "src/main/cpp/libyuv/source/rotate_common.cc" "src/main/cpp/libyuv/source/row_any.cc" "src/main/cpp/libyuv/source/row_common.cc" "src/main/cpp/libyuv/source/scale.cc" "src/main/cpp/libyuv/source/scale_any.cc " "src/main/cpp/libyuv/source/scale_argb.cc" "src/main/cpp/libyuv/source/scale_common.cc" "src/main/cpp/libyuv/source/video_common.cc")
阅读全文
0 0
- cmakelist配置
- mongodb C++ driver CMakeList配置
- cmakelist
- Android NDK(二):配置CMakeList文件
- 在CMakelist.txt中配置OpenMP
- opencv在CLion下CMakeList配置
- CMakeList配置之编译多个.cpp文件
- CMakeList配置之编译多个.cpp文件
- CMakeList配置之编译多个.cpp文件
- CMakeList配置之编译多个.cpp文件
- Android Studio 下配置JNI的使用 ---CMakeList【开篇一】
- CMakeList.txt
- CmakeList相关
- CMake 使用方法 & CMakeList.txt
- cmake笔记(CMakeList.txt)
- CMakeList文件编写
- CMakelist.txt与makefile
- CMakeList.txt学习
- 【Android】禁止屏幕旋转,旋转屏幕时不重新加载当前activity
- onbeforeunload设置用户关闭离开页面时提醒用户保存信息
- 4.字符和格式化输入/输出
- Ubuntu下Hive-2.3.0安装
- java里json常见的转换方法
- cmakelist配置
- iOS多线程 一一 SDWebImage框架的基本使用
- pl/sql连接oracle服务端
- opencv——轮廓检测与画轨迹条
- adb命令获取手机截屏图片
- Java之多线程基础
- 两数的最大公约数和最小公倍数
- DeepMind发布最新原始音频波形深度生成模型WaveNet,将为TTS带来无数可能
- 递归修剪二叉树的理解