Ubuntu下为openwrt交叉编译cmake

此文章并未获得最终成功,供大家参考

参考地址:https://www.cnblogs.com/orangezs/p/8453610.html

硬件:极路由1S h5661

已经刷入openwrt 21.02.1

本地openwrt sdk地址:/home/devuser/CLionProjects/openwrt-sdk-21.02.1/dl/cmake-3.9.6

编译套件地址:/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/

经过测试发现,openwrt 21.02.2 sdk不能支持c++11,只支持cmake3.9.6

下载cmake 3.9.6到本地目录/home/devuser/CLionProjects/openwrt-sdk-21.02.1/dl/并解压到

/home/devuser/CLionProjects/openwrt-sdk-21.02.1/dl/cmake-3.9.6

修改CMakeList.txt,添加以下内容:

set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
SET(CMAKE_C_COMPILER "/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/mipsel-openwrt-linux-musl-gcc")
SET(CMAKE_CXX_COMPILER "/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/mipsel-openwrt-linux-musl-g++")
SET(CMAKE_AR "/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/mipsel-openwrt-linux-musl-ar")
SET(CMAKE_LINKER "/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/mipsel-openwrt-linux-musl-ld")
SET(CMAKE_RANLIB "/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/mipsel-openwrt-linux-ranlib")
SET(CMAKE_NM "/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/mipsel-openwrt-linux-nm")
SET(CMAKE_OBJDUMP "/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/mipsel-openwrt-linux-objdump")
SET(CMAKE_OBJCOPY "/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/mipsel-openwrt-linux-objcopy")
SET(CMAKE_STRIP "/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin/mipsel-openwrt-linux-strip")
#以下为源文件内容
cmake_minimum_required(VERSION 2.8.12.2 FATAL_ERROR)

1、使用clion通过CMakeList.txt生成Makefile或者修改~/.bashrc设置/home/devuser/CLionProjects/openwrt-sdk-21.02.1/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/到PATH路径编译

编译过程中报错;缺少opensslconf.h

解决方法:下载openssl-1.1.1m,在openssl目录执行以下命令

./config
make

2、将openssl-1.1.1m/include/openssl目录中文件全部拷贝到 cmake-3.9.6/Utilities/openssl/

3、将cmake-3.9.6/Utilities/openssl-1.1.1m/ssl/目录中文件全部拷贝到 cmake-3.9.6/Utilities/openssl/

4、第1步执行后会获得Makefile,然后执行

make

Ubuntu下为openwrt交叉编译cmake

再往下不懂怎么解决了。

本文章适合人群:

懂cmake,c语言开发,linux基本make命令等

Original: https://www.cnblogs.com/passedbylove/p/15755163.html
Author: 你不知道的浪漫
Title: Ubuntu下为openwrt交叉编译cmake

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/27941/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 浅谈kali : arpspoof工具原理

    介绍 arpspoof是一个通过ARP协议伪造数据包实现中间人攻击的kali工具。 中间人攻击虽然历史悠久,但仍有被黑客攻击的危险,可能会严重危害服务器和用户。仍然有许多变种的中间…

    Linux 2022年11月7日
    082
  • Linux下逻辑地址、线性地址、物理地址详细总结

    Linux下逻辑地址、线性地址、物理地址详细总结 一、逻辑地址转线性地址 机器语言指令中出现的内存地址,都是逻辑地址,需要转换成线性地址,再经过MMU(CPU中的内存管理单元)转换…

    2022年8月24日
    0130
  • Linux 上编译 redis-6.0.6

    编译 redis-6.0,要求 C11 编译器,否则会遇到大量如下所示的错误: server.h:1051:5: 错误:expected specifier-qualifier-l…

    Linux 2022年8月24日
    0113
  • Ubuntu 安装 nvm

    链接地址:https://blog.csdn.net/geol200709/article/details/82117103 Original: https://www.cnblo…

    Linux 2022年8月26日
    0158
  • 对话红帽副总裁曹衡康:CentOS Stream是CentOS的未来

    作为CentOS 未来新的版本,CentOS Stream代表了进一步推动Linux 创新的最好方式,它让更广泛的生态系统社区与红帽 企业Linux的开发有更紧密的联系。 &#82…

    2022年8月11日
    0158
  • Ubuntu “Unable to locate package lrzsz”解决办法

    https://blog.csdn.net/menc15/article/details/78797996 Original: https://www.cnblogs.com/ji…

    Linux 2022年8月26日
    0138
  • 远程小工具PuTTY

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。我们连接服务器一般用ssh或者telnet,这…

    Linux 2022年9月10日
    0132
  • SlugRelatedField字段

    该字段用于外键字段该字段在序列化的时候多用于反向查询,在反序列化的时候用于接收关联表的唯一字段来生成该关联对象eg: 序列化 class PublishListSerializer…

    Linux 2022年11月8日
    096
  • 七种方案!探讨Redis分布式锁的正确使用姿势

    日常开发中,秒杀下单、抢红包等等业务场景,都需要用到分布式锁。而Redis非常适合作为分布式锁使用。本文将分七个方案展开,跟大家探讨Redis分布式锁的正确使用方式。如果有不正确的…

    Linux 2022年9月14日
    0101
  • Redis6 源码调式

    Redis6 源码调式 安装Cygwin 1、下载安装Cygwin 去Cygwin的官方网站http://www.cygwin.com/ window 64位请选择 setup-x…

    Linux 2022年9月14日
    076
  • [Git专题] 环境搭建

    环境搭建 在正式使用 Git 之前,首先应当安装 Git 并完成一些基础配置,本章内容就教大家在 Ubuntu 和 CentOS 上安装 Git 的方法。 如果你使用的是基于 De…

    Linux 2022年9月10日
    0136
  • qt检测网络连接状态【只能检测和路由器的连接,不能测试到外网的连接】

    include Original: https://www.cnblogs.com/mylinux/p/6061226.htmlAuthor: oucaijunTitle: qt检…

    Linux 2022年8月24日
    0148
  • GIT合并部分文件的CLI

    | 0.24分钟 | 399.2字符 | 1、引言&背景 2、解决方案 3、声明与参考资料 | SCscHero | 2022/5/2 PM10:16 | 系列 | 已完成…

    Linux 2022年11月7日
    069
  • Spring 4 集成 redis 实现缓存 一

    随着Web项目的复杂程度逐渐增加,可能会涉及诸如高并发、海量数据查询的的业务场景也逐渐增多;若频繁的操作数据库,会触发数据库的I/O瓶颈,因此需要加入缓存,尽量减少直接操作数据库的…

    Linux 2022年11月7日
    092
  • TortoiseGit保存用户名和密码的方法

    TortoiseGit在提交或者pull时总会提示你输入用户名密码,非常麻烦,那如何解决呢? 对于TortoiseGit 1.8.1.2及其后的版本,右键选择settings ——…

    Linux 2022年8月30日
    0164
  • Git 简易手册

    这里就不介绍 git 了,表一看到命令行就怕怕,常用的命令也就这些,基本满足 99% 以上的项目需求,非常实用。 这里就不介绍 git 了,表一看到命令行就怕怕,常用的命令也就这些…

    Linux 2022年8月30日
    0134
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总