
交叉编译
文章平均质量分 59
椰果奶茶加冰
因为记录爱上学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
交叉编译-10:使用Android NDK编译Android平台的libmxml库
一、下载1. 下载软件包mxml-2.11.tar.gz二、编译1. 进入mxml-2.11目录,执行下面的命令:./configure --prefix=$(pwd)/android-lib --enable-shared --host=arm-androideabi-linux CC="/usr/android/android-ndk-r14b/toolchains/a...原创 2018-03-20 13:56:34 · 758 阅读 · 0 评论 -
交叉编译-7:使用Android NDK编译Android平台的eXosip库
编译好的库下载地址:eXosip一、下载1. 下载软件包libexosip2-5.0.0.tar.gz二、编译1. 进入libexosip2-5.0.0目录,新建jni目录,拷贝include tools 及src目录到jni下,拷贝osip2 include 头文件到jni 中的include目录中,拷贝osip2编译的库文件到该目录下。2. 新建Android.mk文...原创 2018-01-17 15:23:03 · 2234 阅读 · 2 评论 -
交叉编译-6:使用Android NDK编译Android平台的oSIP库
编译好的库下载地址:OSIP 一、下载 1. 下载软件包libosip2-5.0.0.tar.gz 二、编译 1. 进入libosip2-5.0.0目录,新建jni目录,拷贝include和src到jni目录下。 2. 新建Android.mk文件。LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FI原创 2018-01-17 14:54:18 · 1549 阅读 · 0 评论 -
交叉编译-5:使用NDK和CMake在Linux上编译Android动态库
之前接触过使用CMake编译IOS的项目,开始编译Android库时候,不是很熟悉Android.mk的编译方式,所以继续沿用CMake编译Android的库。使用gcc编译出来的库在Android stutio上使用时候App有些是可以直接用,但有些动态库会有一些奇奇怪怪的错误。所以换了最新版本的NDK,并采用clang编译,这下编译出来的库在Android stutio上使用是没...原创 2017-12-22 13:58:06 · 12710 阅读 · 6 评论 -
交叉编译-4:CxImage开源库在VS2013的编译和使用
一、cximage600_full在VS2013编译和使用1、编译 (1)下载后解压缩,直接打开根目录下的 CxImgLib.dsw文件。版本转换完成之后,在编译之前先将每个工程属性的字符集由原先的使用Unicode字符集改为使用多字节字符集,生成解决方案。注:编译报错及解决方法1)字符问题解决方法:编译之前先将每个工程属性的字符集由原先的使用Unicode字...原创 2017-12-19 09:38:47 · 3427 阅读 · 13 评论 -
交叉编译-3:解决动态库在Android平台加载时libavxcore.so: has text relocations错误
编译出的动态库libavxcore.so在Android Studio加载时报错,错误如下:java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/com.skylight.testlibs-2/lib/arm/libavxcore.so: has text relocations问题分析:...原创 2017-12-15 13:27:41 · 2205 阅读 · 2 评论 -
交叉编译-2:跨平台交叉编译FFmpeg库(Android、IOS、S2L)
一、Android平台 1. 进入网址https://ffmpeg.org/download.html,下载 FFmpeg压缩包。 2. 修改FFmpeg的configure。由于编译出来的动态库文件名的版本号在.so之后(例如“libavcodec.so.5.100.1”),而android平台不能识别这样文件名,所以需要修改这种文件名。在configure文件中找到下面...原创 2017-12-14 19:22:34 · 1331 阅读 · 0 评论 -
交叉编译-1:使用Android NDK编译Android平台的pjsip库
编译好的库下载地址:pjsip一、源码下载 进入网址http://www.pjsip.org/download.htm,下载pjsip源码压缩包pjproject-2.7.1.tar.bz2二、编译准备 1. 在虚拟机下使用tar jxvf pjproject-2.7.1.tar.bz2命令解压压缩包。 2. 进入pjproject-2.7...原创 2017-12-14 17:00:50 · 1806 阅读 · 2 评论 -
交叉编译-19:Linux裁剪库及可执行程序思路
当库和可执行程序在IPC端所占的空间有限制时,就需要考虑对库和可执行程序进行裁剪,以达到功能需求。现采用将所有的库编译成静态库,最后集成为一个可执行程序的方法,整理裁剪过程如下:一、编译阶段1、编译静态库为release版本,并添加以下编译选项:编译参数参数详解-fvisibility=hidden可以将所有导出的符号设置为隐藏,然后在库的代码中通过设置 __ at...原创 2019-02-22 19:54:01 · 1585 阅读 · 0 评论 -
交叉编译-19:查询Android apk中OpenSSL库版本
最近遇到公司项目在Android APP在Google Play上架时候被打回,原因为openssl版本太低,邮件如下:根据邮件答复,可以通过以下命令查看apk中openssl库的版本:unzip -p app-debug.apk | strings | grep "OpenSSL"通过以上命令查看要上架的apk中openssl库的版本,显示如下:发现我们库中用到的openssl的版本为...原创 2018-10-30 15:09:42 · 2810 阅读 · 1 评论 -
交叉编译-17:Linux系统下编译VLC for Android
一、下载配置JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html操作步骤:1、下载最新版本的Linux版jdk,将下载好的文件解压到/usr/android目录下tar zxvf jdk-10.0.2_linux-x64_bin.tar.gz2、设置环境变量使用sudo vi /etc/...原创 2018-09-27 14:09:39 · 2300 阅读 · 0 评论 -
交叉编译-20:gettext移植到君正平台
下载地址:http://ftp.gnu.org/pub/gnu/gettext/编译命令:./configure --prefix=$(pwd)/ISVP-lib --host=mips-linux-uclibc CC=/opt/mips-gcc472-glibc216-64bit/bin/mips-linux-uclibc-gnu-gcc CXX=/opt/mips-gcc472-gli...原创 2019-11-18 15:35:30 · 2529 阅读 · 0 评论 -
交叉编译-18:解决arm-none-eabi-gcc交叉编译问题
在项目中使用arm-none-eabi-gcc交叉编译链编译程序时报错:checking host system type... arm-none-eabichecking for a BSD-compatible install... /usr/bin/install -cchecking for arm-none-eabi-gcc... /opt/Ambalink/gcc-arm-non...原创 2018-10-19 09:58:55 · 29524 阅读 · 4 评论 -
arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf的区别
为什么要用交叉编译器?交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到ARM CPU平台上才能运行,虽然两个平台用的都是Linux系统。交叉编译工具链是一个由编译器、连接器和解释器组成的综合开发环境,交叉编译工...转载 2018-10-16 14:30:25 · 1030 阅读 · 0 评论 -
用CMake代替makefile进行跨平台交叉编译
在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑。因为很多开源的程序,比如png,都是自带编译脚本的。我们可以使用下列脚本来进行编译:./configure --prefix=/xxx/xx --enable-static=YESmakemake install 相信手动在类Unix系统上面编译过开源程序的同学对上面的...转载 2018-03-08 09:32:10 · 2181 阅读 · 0 评论 -
交叉编译-8:跨平台交叉编译libcurl库(Android、iOS)
一、Android平台 1. 进入网址https://curl.haxx.se/download.html,下载libcurl压缩包。 2. 进入curl-7.58.0目录,在当前目录下创建文件夹openssl,将openssl的头文件以及库分别拷贝openssl /include到和openssl/lib目录下。 3.新建脚本build_curl.sh。...原创 2018-03-05 11:13:26 · 7440 阅读 · 13 评论 -
交叉编译-9:跨平台交叉编译libevhtp库(Android、iOS)
一、Android平台 1. 进入网址https://repology.org/metapackage/libevhtp/versions,下载libevhtp压缩包。 2. 解压进入libevhtp-1.2.16目录,在当前目录下创建文件夹openssl,将openssl的头文件以及库分别拷贝openssl /include到和openssl/lib目录下,并将opens...原创 2018-03-06 16:57:51 · 1539 阅读 · 0 评论 -
gcc的中文版使用说明和选项
gcc的中文版使用说明和选项转载 2018-04-03 14:36:29 · 2999 阅读 · 0 评论 -
交叉编译-11:跨平台交叉编译libwebsockets库(Win32、Android、iOS)
一、Windows平台 1. 进入网址https://github.com/warmcat/libwebsockets/tree/v2.3-stable,下载libwebsockets压缩包。 2. 下载Cmake安装并配置环境。 3. 解压libwebsockets-2.3-stable.zip压缩包到某一个目录下。 4. cmd进入到libwe...原创 2018-05-04 13:19:33 · 4450 阅读 · 11 评论 -
交叉编译-12:openssl交叉编译undefined reference to `TLS_DTPREL_VALUE'问题解决
问题:使用mips-linux-uclibc-gnu-gcc交叉编译链在编译openssl的时候报出以下错误:[root@localhost openssl-1.0.1e]# libdl.c:(.text+0x1778): undefined reference to `TLS_DTPREL_VALUE'[root@localhost openssl-1.0.1e]# libdl.c:(....原创 2018-05-18 10:02:48 · 2238 阅读 · 0 评论 -
交叉编译-13:ffmpeg swr_init Illegal instruction错误分析解决
将ffmpeg库集成到我们项目代码中在板子上跑时候报错:Illegal instruction,通过定位是在代码中Init位置崩溃,写了个demo来验证具体崩在哪部分代码,以下代码的Init调用的是ffmpeg中的swr_init 接口,所以确定是ffmpeg编译问题。// main.cpp : 定义控制台应用程序的入口点。//#include <stdio.h>#in...原创 2018-05-23 09:38:45 · 1452 阅读 · 0 评论 -
交叉编译-14:解决取消Linux下编译Openssl生成动态库存在软连接的问题
1、执行以下命令生成Makefile文件 ./config -shared --prefix=$(pwd)/lib -fPIC 2、修改Makefile文件 第一处:VERSION=1.0.1eMAJOR=1MINOR=0.1SHLIB_VERSION_NUMBER=1.0.0SHLIB_VERSION_HISTORY=SHLIB_MAJOR=1SHLIB_MINOR...原创 2018-06-11 14:17:05 · 2578 阅读 · 3 评论 -
移植openssl到32位的mips核心板上的详细步骤及遇到的问题解决
概述:因工作需求,需要移植openssl开源库到mips架构的核心板上。所以,就开始移植吧。上位机环境:ubuntu14.04 64位 核心板: mips linux 32位1,openssl移植。 先下载源码,这是开源库直接去官网自己下载就行啦。我下载的openssl-1.1.0g版本。然后参考这篇博客来进行移植。 我们进入源码目录,执行config脚本,我这里写...转载 2018-05-31 21:09:08 · 2175 阅读 · 0 评论 -
交叉编译-15::libmpc.so.3: cannot open shared object file解决方法
在使用CMake编译库时候有以下问题:/opt/ov798/bin/../libexec/gcc/arm-ov798-linux-uclibcgnueabi/4.8.4/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directo...原创 2018-06-27 14:19:54 · 10869 阅读 · 0 评论 -
交叉编译-16:live555交叉编译(Windows和君正平台)
一、 简介Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款...原创 2018-08-29 18:06:38 · 2169 阅读 · 0 评论