在X86上交叉编译ARM64 linux上的NCNN

1、准备编译器和sysroot环境,下载地址为:https://releases.linaro.org/components/toolchain/binaries/latest/aarch64-linux-gnu/

2、解压缩上述两个压缩包,并将gcc编译器加入系统可执行程序搜索路径中
export PATH=$PATH:~/work/linaro/gcc-linaro-7.1.1-2017.08-x86_64_aarch64-linux-gnu/bin

3、根据网上提供的配置CMakelist进行交叉编译的方法,修改ncnn工程的主CMakelist.txt文件,在文件开头新增以下内容:
SET(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_C_COMPILER   aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
SET(CMAKE_FIND_ROOT_PATH "~/work/linaro/sysroot-glibc-linaro-2.25-2017.08-aarch64-linux-gnu")
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

4、执行正常的编译操作,编译时会遇到类似错误: fatal error: opencv2/core/core.hpp: No such file or directory
此时需要先将opencv交叉编译,将编译完成的库和头文件放到systroot目录即可。


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!要在ARM Linux上进行ncnn交叉编译,您可以按照以下步骤进行操作: 1. 安装交叉编译工具链:首先,您需要安装适用于ARM Linux交叉编译工具链。这个工具链包含了ARM架构的编译器和库文件,可以在x86主机上生成ARM架构的可执行文件。您可以从ARM官方网站或者其他第三方提供商处获取适用于您的目标平台的交叉编译工具链。 2. 下载ncnn源代码:您可以从ncnn的GitHub仓库中获取源代码。您可以使用git命令进行克隆,或者直接下载压缩包并解压。 3. 配置交叉编译环境:在源代码目录中,打开CMakeLists.txt文件,找到相关的交叉编译选项。根据您的目标平台和交叉编译工具链的路径,设置正确的选项。一般来说,您需要设置CMAKE_SYSTEM_NAME为Linux,CMAKE_SYSTEM_PROCESSOR为arm,CMAKE_C_COMPILER和CMAKE_CXX_COMPILER为交叉编译工具链中对应的编译器。 4. 创建构建目录:在源代码目录外创建一个新的目录,用于构建过程。例如,您可以在源代码目录同级创建一个名为"build_arm"的目录。 5. 进入构建目录并运行cmake:使用cd命令进入构建目录,然后运行cmake命令来生成Makefile。 ``` cd build_arm cmake .. ``` 6. 执行make命令进行编译:运行make命令开始编译ncnn。 ``` make ``` 7. 编译完成后,您将在构建目录中找到生成的可执行文件和库文件,这些文件是针对ARM Linux平台的。 请注意,以上步骤只是一个大致的指导,具体的步骤可能因您使用的工具链和平台而有所差异。在实际操作中,您可能还需要根据具体情况进行一些调整和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值