有些时候,我们用习惯了arm-linux-gcc作为编译ARM系统软件的工具,但并不知道其名称来源,慢慢地就会以为这样的工具天生就有的,直到有一天用到arm-linux-ranlib发现咦!系统爆粗了!怎么回事?来听听北理珠学长关国源的讲解。
arm平台curl交叉编译方法。 基于curl + openssl + zlib 的方式组建arm上的https客户端,其中curl作为http客户端,openssl提供https支持,zlib负责处理gzip压缩的http报文。
项目当前使用的ubuntu版本是 18.04(如何查看当前linux版本见文章最后), 默认安装的gcc版本是7.5.0, 在这环境编译出来的deb包在银河麒麟v10 sp1系统上可以兼容,但是在银河麒麟v10 的OS上会出现兼容性的问(原因是银河麒麟v10上运行的deb需要使用gcc 5进行编译),因此需要在ubuntu 18.04版本上安装gcc 5 的版本
首先需要安装交叉编译工具链,可以用apt安装riscv64的gcc编译工具链。我是自己编译了一个musl-gcc,下载:
Windows下编译OpenSSL动态库的方法: 1、安装ActivePerl 初始化的时候,需要使用perl 2、使用VS下的Visual Studio 20xx Command Prompt进入控制台模式 3、解压缩openssl的包,通过cd命令切换到openssl的目录 4、执行:perl configure VC-WIN32 5、执行:ms/do_ms 6、选择不同的编译结果 1) 执行:nmake -f ms/ntdll.mak 该命令生成动态库,默认使用的是MD 2) 执行:nmake -f ms/nt.mak 该命令生成静态库,默认使用的是MT 3) 想生成使用静态链接运行时库的动态库则采用下面方法 复制一个ntdll.mak并命名为ntdll_mt.mak,修改里面的 “CFLAG= /MD /Ox ..............” 为/MT ,然后重新编译,执行 nmake -f ms/ntdll_mt.mak 4) 想生成使用动态链接运行时库的静态库则采用下面方法 复制一个nt.mak并命名为nt_md.mak,修改里面的 “CFLAG= /MT /Ox ..............” 为/MD ,然后重新编译 ,执行 nmake -f ms/nt_md.mak 7.其它命令: nmake -f ms/ntdll.mak clean // 清除编译的中间文件 nmake -f ms/ntdll.mak install // 安装 ,主要是linux下面会自动放到程序目录中 。
4.在Python-3.6.2目录下新建mylib文件夹,用于存放生成的可移植文件:
上一篇博客《conan入门(十):Windows下Android NDK交叉编译Boost》中已经说明了Windows下Android NDK交叉编译Boost的全过程。
API、CPU、NDK以及TOOLCHAIN这个路径最后的文件夹名称(Mac下是darwin-x86_64、linux可能叫linux-x86_64、Windows也不一样);
上一篇博客《conan入门(九):NDK交叉编译自己的conan包项目塈profile的定义》中我们以jsonlib为例说明了如何NDK交叉编译自己封装成conan的模块及定义profile简化编译的方式。
在交叉编译python3之前需要在ubuntu主机上安装对应的x86版本,因为交叉编译时需要用到python解释器。ubuntu16.04下安装python3.10.5
拿来做些小玩意儿玩儿。最近移植madplay让板子支持mp3音乐播放,音质还不错!
没有开发板,如何调试运行arm程序? 本文主要讲解如何在Ubuntu上搭建arm交叉编译、运行环境。
解压cd 到该目录里面 创建build目录undefinedmkdir build 复制build.sh到build目录, 注意修改ANDROID_NDK_HOME变量 #!/bin/bash ANDROID_ABI=arm64 BUILD_DIR_FFMPEG="$( cd "$( dirname "$0" )" && pwd )" BASE_DIR="$( cd "$( dirname "$BUILD_DIR_FFMPEG" )" && pwd )" TARGET_TRIPLE_MACHINE_BINU
http://blog.csdn.net/lz_obj/article/details/52620276
https://developer.android.google.cn/ndk/downloads/ 在安卓开发官网可以下载到,可以直接在linux中下载,也可以在windows平台下载后传到linux下,我这边使用的是14b版的ndk
archive命令的功能是:创建或改动归档文件或者从归档文件里析取信息。能够简单的理解为一个打包工具,将成员文件依照一定的规则构建到.a文件里,通常这样的类型的归档文件用来将经常使用的例程组织为一个静态库,方便应用程序的链接。
我们在Linux中使用自带的gcc和g++编译器进行编译的程序是针对X86架构的。而我们开发板大多都是ARM或者其他架构的开发板,我们就需要编译出针对其他架构的程序。
http://www.ict.kth.se/courses/IS2202/software
近期需要用到FFmpeg的库,来做视频流的处理,今天尝试实现了一下,手动编译FFmpeg,然后引入到Android项目去使用。
搜索了一下,发现核心原因是Mac下ranlib命令采用了GNU版本,而非Apple版本导致的,下面详细展开报错原因和解决办法。
Node.js是一个基于Chrome V8引擎的JavaScript运行环境.Node.js使用了一个事件驱动,非阻塞式I / O的模型,使其轻量又高效。
我们来说说第二类,需要做的事情是先编译opencv的源码、再编译matlab可用的mex文件夹,这两步的编译器必须是同一个,而最近几年的新版本matlab都推荐使用MinGW-w64编译器来使用mex、可是mexopencv提供的编译辅助函数在Windows系统上默认使用Visual Studio或者Windows SDK来编译,如果觉得自己需要Visual Studio的其他功能,安装一下也是挺好的
编译环境 Ubuntu 16.04 x86_64 himix2000 编译工具链 下载openssl源码 wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz 解压源码 tar xvf openssl-1.1.1d.tar.gz 执行Configure脚本 ./Configure linux-generic32 \ no-shared \ no-asm \ --prefix=/ilock/dist/himix200_openssl_11
之前我写过的两篇博客《conan入门(十):Windows下Android NDK交叉编译Boost》,.《conan入门(十一):Linux下Android NDK交叉编译Boost》中介绍了在Linux和Windows下NDK交叉编译boost的过程
其中的一个 limits.h 会反过来包括对应的系统头文件 limits.h, 在我们的例子中,是 /tools/include/limits.h。
正常情况下校园网的网速是 10mb/s,尤其是在使用华科的镜像源的时候,速度可以稳定在11+mb/s。 由于之前百兆路由器速度限制,只能达到2mb/s,因此更换了一个路由器。
上一篇我们已经基于我们的开发板搭好了一个基于boa的web服务器:实用 | 10分钟教你搭建一个嵌入式web服务器。这一篇接着分享如何使用网页来点灯。
最近在根据项目需求疯狂撸 OpenCL ,FFmpeg 相关的文章落下了不少,后面也准备介绍下 OpenCL 在 Android 上的应用,另外 OpenCL 可以和 OpenGL 结合使用,非常有趣。
关于具体的安装步骤可以查看这个网址:https://oldpan.me/archives/pytorch-gpu-ubuntu-nvidia-cuda90
我们在mac环境下想连接mssqlserver数据库,首先要考虑的就是使用pymssql库,而pymssql是在freedts的基础上研发的,所以要先安装freedts,但是安装这个库之前还需有有一系列的支撑库
OpenSSL 是开源密码库 , 其中封装了常用的 密码算法 , 常用密钥 , 证书封装管理 , SSL 协议 ;
虚拟机环境:Ubuntu16.04.3 编译安装bluez-libs-3.36 下载 (http://www.bluez.org/download/) ./configure --prefix=/opt/bluez/bluez-libs-3.36 --host=arm-linux --target=arm-linux CC=arm-linux-gnueabihf-gcc make sudo make install 编译安装expat-2.5.0 下载 (https://github.com/libe
最近有个项目,不能在Keil uVision4 MDK中开发,只能在linux下并使用命令行的GCC编译器,手动写makefile,对于习惯了IDE的开发者来说多少有些不适应,尤其是查找函数定义之类的不方便。于是成功的实现了使用Eclipse的IDE,并配合GCC编译器开发嵌入式应用程序。Eclipse和GCC环境的搭建先略过,查资料都好解决。先贴出makefile模版,因为没有使用Eclpise的CDT自动生成的makefile,所以这里的 makefile是必须的。GCC编译器用的sourcery codebench,这样能轻松获取GCC工具链,较方便。
then find the file ~/ClickHouse/CMakeLists.txt
SOURCES = $(wildcard ./src/*.c) #把指定目录./src/所有后缀是c的文件展开
今天在Windows平台如下正常执行conan NDK交叉编译Boost库时报了个错
首先做一下binutils [root@T-bagwell binutils-2.21]# ./configure --build=i686-pc-linux-gnu --target=arm-linux --prefix=/usr/local/arm/gcc-4.6.0/ --disable-nls --enable-shared --disable-multilib [root@T-bagwell binutils-2.21]# make configure-host [root@T-
主要问题是rv1126&1109使用的gcc是gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf ,
linux作为一款流行的嵌入式系统,目前已经有多种架构的MCU支持Linux移植,arm64就是其中一种。今天在这里想做一个笔记,记录一下完整的arm64移植过程。
conan是个包管理工具,不仅仅支持cmake编译,还支持很多常用的构建工具如configure/make,msbuild,VisualStudo,meson,本文以NXP的Embedded RPC为例说明conan中如何使用make来构建项目。
SDL系列讲解(一) 简介 SDL系列讲解(二) 环境搭建 SDL系列讲解(三) 工具安装 SDL是什么,能干什么,为什么我们要学习它? SDL系列讲解(四) demo讲解 SDL系列讲解(五) 调试c代码 SDL系列讲解(六) SDL_Activity流程 SDL系列讲解(七) SDL_image教程 SDL系列讲解(八) SDL_ttf教程 SDL系列讲解(九) 异常退出分析 SDL系列讲解(十) 按键处理流程 SDL系列讲解(十一) SDL_QUIT流程 SDL系列讲解(十二)创建窗口流程
上一篇博客《conan入门(十六):profile template功能实现不同平台下profile的统一》以Android NDK交叉编译为例介绍了jinja模板在conan profile中的应用。如果针对不同的Android目标平台(armv7,armv8,x86,x86_64)都要维护一个profile也是挺麻烦的。本文在此基础上,更进一步改进将android NDK 对不同平台armv7,armv8,x86,x86_64交叉编译的profile基本于同一个模板统一实现
为了能更好的学习和运用ffmpeg, 建议下载ffmpeg源码自己编译.这里的编译方法基于ubuntu16.04环境.直接按照编译FFmpeg来做可能会碰到一些错误, 我将自己编译碰到的错误记录在最后面. 我自己编译的工程已经传到github上 https://github.com/yizhongliu/ffmpegForAndroid
再次配置,就成功 [root@h101 snort-2.9.7.6]# ./configure --enable-sourcefire checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... g
Binutils 手册建议在源码目录之外一个专门的编译目录里面编译 Binutils:
① FFMPEG 源码下载地址 : http://ffmpeg.org/download.html#releases
上一篇文章:编译WebAssembly版本的FFmpeg(ffmpeg.wasm):(1)准备
前三行自行更换成自己的 NDK 路径即可,PREFIX 就是最终编译输出地址,根据情况也可以修改。
机房一台centos6.9机器部署了jenkins发布系统,开发人员在用node编译js,发现依赖的gcc版本低了,故需要将gcc升级到高版本(至少5.0版本以上),这里选择升级到6.4.0版本,下面是升级的操作记录:
领取专属 10元无门槛券
手把手带您无忧上云