cmake导入so库_cmake编译.so库体积非常大,求解答

将ndk-build替换为CMake编译Android so库时,发现.so文件体积从400k激增到4.5M。经过对比,前1000行代码相同,但CMake编译的版本后续多了两万多行未知内容。CMakeLists.txt配置包括abiFilters、库目标、链接库等,尽管如此,仍无法解释文件大小差异。寻求解决该问题的专家指导。
摘要由CSDN通过智能技术生成

最近用cmake替代ndk-build编译so库,编译出来的so库打出很多,ndk-build编译的400k左右,cmake编译出的达到4.5M。

Gradle插件的版本是:gradle:3.0.0,gradle版本是:gradle-4.1-all.zip。

build.gradle cmake 配置如下:`

ndk {

abiFilters 'armeabi','armeabi-v7a','x86'

}

externalNativeBuild {

cmake {

arguments '-DANDROID_PLATFORM=android-21',

'-DANDROID_TOOLCHAIN=clang',

'-DCMAKE_BUILD_TYPE=Release'

targets 'myso'

}

}`

CMakeLists.txt 文件配置如下:

cmake_minimum_required(VERSION 3.4.1)

set (CMAKE_CXX_STANDARD 14)

set(CMAKE_VERBOSE_MAKEFILE ON)

add_library(so SHARED IMPORTED)

set_target_properties(

so

PROPERTIES IMPORTED_LOCATION

${CMAKE_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/so

ament_cmake_autoConfig.cmake和ament_cmake_auto-config.cmake都是用于自动配置ament_cmake包的CMake模块文件。这些文件包含了一些CMake变量和函数,用于设置ament_cmake包的构建和安装过程中所需的依赖项、编译选项和安装目录等信息。这些模块文件通常由ament_cmake包提供,可以在CMakeLists.txt文件中使用include()命令来加载它们,以便使用其中定义的功能和变量。具体来说,ament_cmake_autoConfig.cmake用于配置ament_cmake包的构建,而ament_cmake_auto-config.cmake用于配置ament_cmake包的安装。这两个文件都是通过在CMake的扩展点系统中使用的,以实现代码的模块化和灵活性。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【ROS2原理3】:构建系统“ament_cmake”和构建工具“ament_tools”](https://blog.csdn.net/gongdiwudu/article/details/126192244)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [ROS2学习(十六).ROS概念 - 构建系统](https://blog.csdn.net/amuro_ray027/article/details/120201983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值