linux平台交叉编译arm64库

13 篇文章 0 订阅

1.构建工程时指定工具链

cmake -DCMAKE_TOOLCHAIN_FILE=/home/…/gnu_arm64.cmake

2.CMAKE_TOOLCHAIN_FILE 交叉编译文件

#工具链文件 gnu_arm64.cmake
set( CMAKE_SYSTEM_NAME Linux )
set( CMAKE_SYSTEM_PROCESSOR arm )

SET(CMAKE_SHARED_LIBRARY_PREFIX "lib")
SET(CMAKE_SHARED_LIBRARY_SUFFIX ".so")
SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
SET(CMAKE_STATIC_LIBRARY_SUFFIX ".a")

set( SDK "/home/.../gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu" )#指定路径
set( SYS_ROOT "${SDK}/aarch64-linux-gnu/libc" )
set( COMPILER_ROOT "${SDK}/bin" )
set( COMPILER_PREFIX "aarch64-linux-gnu" )

SET(CMAKE_AR           "${COMPILER_ROOT}/${COMPILER_PREFIX}-ar"      CACHE PATH "ar Program")
SET(CMAKE_RANLIB       "${COMPILER_ROOT}/${COMPILER_PREFIX}-ranlib"  CACHE PATH "ranlib Program")
SET(CMAKE_NM           "${COMPILER_ROOT}/${COMPILER_PREFIX}-nm"      CACHE PATH "nm Program")
SET(CMAKE_OBJCOPY      "${COMPILER_ROOT}/${COMPILER_PREFIX}-objcopy" CACHE PATH "objcopy Program")
SET(CMAKE_OBJDUMP      "${COMPILER_ROOT}/${COMPILER_PREFIX}-objdump" CACHE PATH "objdump Program")
SET(CMAKE_LINKER       "${COMPILER_ROOT}/${COMPILER_PREFIX}-ld"      CACHE PATH "Linker Program")
SET(CMAKE_STRIP        "${COMPILER_ROOT}/${COMPILER_PREFIX}-strip"   CACHE PATH "Strip Program")
SET(CMAKE_C_COMPILER   "${COMPILER_ROOT}/${COMPILER_PREFIX}-gcc"   CACHE PATH "GCC")
SET(CMAKE_CXX_COMPILER "${COMPILER_ROOT}/${COMPILER_PREFIX}-g++"   CACHE PATH "G++")

set( CMAKE_FIND_ROOT_ROOT "/home/.../gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu" )#指定路径
SET( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
SET( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8-a -mtune=cortex-a57.cortex-a53 --sysroot=${SYS_ROOT}" CACHE INTERNAL "" FORCE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a -mtune=cortex-a57.cortex-a53 --sysroot=${SYS_ROOT}" CACHE INTERNAL "" FORCE)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值