Android下Native的so编译:使用cmakelists.txt
android studio的CMakeLists.txt写好后,在Studio中编译没问题,在命令编译时则需要配置很多参数才能成功
示例CMakeLists.txt文件:
cmake_minimum_required(VERSION 3.4.1) set(UVC_LIBS UVCCamera uvc usb100 jpeg-turbo1500)
FOREACH(UVC_LIB ${UVC_LIBS})
add_library(${UVC_LIB} SHARED IMPORTED)
set_target_properties(${UVC_LIB} PROPERTIES IMPORTED_LOCATION
${CMAKE_CURRENT_SOURCE_DIR}/lib/${ANDROID_ABI}/lib${UVC_LIB}.so)
ENDFOREACH(UVC_LIB) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DFFFFFFF_DETECTOR_EXPORT -std=c++11") add_library(XXXXX SHARED
${CMAKE_CURRENT_SOURCE_DIR}/src/BBBB/XDFD.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/BBBB/DFDSF.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/BBBB/base64/CBase64.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/BBBB/camera/AAAA.cpp ) target_include_directories(XXXXX PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/inc
${CMAKE_CURRENT_SOURCE_DIR}/src/XXX) target_link_libraries(SL3DCameraCtrl
${UVC_LIBS}
android
log)
由于使用了STL,整个CMAKE执行的命令行写成如下:
D:\10.AndroidSDK\cmake\3.10.2.4988404\bin\cmake.exe -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="%ANDROID_NDK%\build\cmake\android.toolchain.cmake" ..\..\ -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%\prebuilt\windows-x86_64\bin\make.exe" -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-21 -DANDROID_STL=c++_static
用于编译的批处理文件如下:
set ANDROID_NDK=D:\10.AndroidSDK\ndk\android-ndk-r15b mkdir build\arm64-v8a
cd build\arm64-v8a D:\10.AndroidSDK\cmake\3.10.2.4988404\bin\cmake.exe -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="%ANDROID_NDK%\build\cmake\android.toolchain.cmake" ..\..\ -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%\prebuilt\windows-x86_64\bin\make.exe" -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-21 -DANDROID_STL=c++_static
D:\10.AndroidSDK\cmake\3.10.2.4988404\bin\cmake.exe --build .
cd ..\..\
Android下Native的so编译:使用cmakelists.txt的更多相关文章
- Android下Native的so编译:使用ndk-build.cmd/.sh
最近将一个DLL库移植至安卓下,编译出so文件. 经历makefile.cmake等等的入门到放弃..... 最后还是使用android的ndk编译命令来解决 每个NDK文件下,均包含的是所有工具链. ...
- 在Android下运行Linux平台编译的程序
编译时需注意使用 -static 编译选项: 否则会提示运行:/system/bin/sh: ./i2c: No such file or directory
- linux下编译利用CMakeLists.txt 编译C++写的opencv程序
https://hihozhou.com/blog/2017/05/11/linux-compile-opencv-c++-file.html cmake . make -j8
- Android -- Android下的NDK开发(一)
1,NDK是什么?为什么要进行NDK开发? NDK:Native Development Kit.Android应用运行在Dalvik虚拟机中.NDK允许开发人员使用本地代码语言(例如C和C++)实现 ...
- ubuntu下整合eclipse和javah生成jni头文件开发android的native程序
0:前言: 这两天一直在研究用android的jni调用第三方库,上网搜方法,但是都是泛泛而谈,没有demo,经过我几番折磨,写了n多的helloword工程,总是不成功,工程名字也就由helloow ...
- android源码环境下用mmm/mm编译模块,输出编译log到文件的方法
android源码环境下用mmm/mm编译模块,输出编译log到文件的方法 1,在android目录下直接用mmm命令编译, log信息保存在android目录下 mmm packages/apps/ ...
- NDK下 将Platinum SDK 编译成so库 (android - upnp)
Platinum UPnP SDK 是一个跨平台的C++库,利用该库,可以很容易就构建出DLNA/UPnP控制点(DLNA/UPnP Control Point)和DLNA/UPnP设备(DLNA/U ...
- android下m、mm、mmm编译命令的使用
android下m.mm.mmm编译命令的使用 通过查看android源码目录下的build/envsetup.sh文件,可知: - m: Makes from the top of th ...
- 在Android系统中修改Android.mk使其同时编译rgb2565和rgb2888(向out/host/linux-x86/bin/下新增加一个工具命令)【转】
本文转载自:http://blog.csdn.net/mu0206mu/article/details/7514559 在Android系统中修改android.mk使其同时编译rgb2565和rgb ...
随机推荐
- Microsoft Azure Overview
Day1 Overview 1. Cloud - Internet scaling / Internet connects / Resource pool 2. Why the cloud? Rap ...
- Listview.Finditem()函数用法
查找LISTVIEW控件中指定的字符串. Private Sub ListView2_Click() On Error GoTo ONERROR Dim strFindMe As String ...
- 【gin-vue-admin】 使用go和vue 快速搭建一个项目模板
gin-vue-admin gin+vue开源快速项目模板 项目地址:https://github.com/piexlmax/gin-vue-admin 增加了 micro-service-test分 ...
- 3D绘图计算器(geogebra[5.0.385.0])使用QQ浏览器打开下载
点击这里下载3D绘图计算器
- [每日一讲] Python系列:列表与元组
参考文档 https://docs.python.org/zh-cn/3.7/tutorial/introduction.html#lists """ DATA STRU ...
- markdown编辑器常用命令
# 标题H1## 标题H2### 标题H3#### 标题H4##### 标题H5###### 标题H5插入java代码: 以```java表示java代码开始,以```表示代码结束 ```javapu ...
- C# for循环测试
- html area标签 语法
html area标签 语法 作用:带有可点击区域的图像映射 说明:<img> 中的 usemap 属性可引用 <map> 中的 id 或 name 属性(由浏览器决定),所以 ...
- CDOJ 1063 堆排序模板
D - 秋实大哥与妹纸 Time Limit:1000MS Memory Limit:1500KB 64bit IO Format:%lld & %llu Submit Sta ...
- 病毒 x
04:病毒 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65535kB 描述 有一天,小y突然发现自己的计算机感染了一种病毒!还好,小y发现这种病毒很弱,只是会把文档中的所有字 ...