交叉编译

wpa_supplicant 交叉编译,移植

匿名 (未验证) 提交于 2019-12-03 00:32:02
下载地址: http://w1.fi/wpa_supplicant/ 依赖:openssl,libnl库 libnl交叉编译 openssl交叉编译 wget http://w1 .fi /releases/wpa_supplicant- 2.6 .tar .gz 解压,进入wpa_supplicant-2.6/wpa_supplicant 目录 拷贝配置文件 cp defconfig .config 修改.config 配置 是指定 openssl 和 libnl 库的 和头文件。 也可以把相应的动态库和头文件拷贝到 交叉编译器里面,方便日后使用 编译 make CC=arm-linux-gnueabihf-gcc 文章来源: wpa_supplicant 交叉编译,移植

Qt 交叉编译 The tslib functionality test failed! 解决方案

匿名 (未验证) 提交于 2019-12-03 00:32:02
Qt 交叉编译在执行 ./configure ... 的过程中可能出现 The tslib functionality test failed! 出现该问题的原因是 Qt 源码 config.tests/unit/tslib 目录下的程序执行 make 未通过. 解决方案: 1) 交叉编译器配置的路径不正确 , 可修改 mkspecs/qws/<./configure -xplatform 指定的平台>/qmake.conf 中指定的交叉编译器. 可以通过环境变量配置, 也可设置为绝对路径(推荐) 2) tslib 的库不兼容 , 利用 file libts* 查看库文件属性, 如果是库不兼容, 请重新编译 tslib, 保证 tslib 的库 兼容 3) 没有找到 tslib 的头文件和库文件。 这种情况下有两种方案: --> 修改 mkspecs/qws/<./configure -xplatform 指定的平台>/qmake.conf 文件中 QMAKE_LIBDIR(库文件) 和 QMAKE_INCDIR(头文件), 确保参数正确. --> 在 ./configure -qt-mouse-tslib 后添加头文件和库文件, 如下 ./configure -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib

安卓交叉编译jemalloc静态库

匿名 (未验证) 提交于 2019-12-03 00:26:01
git上下载最新的jemalloc源码:git clone --depth=1 https://github.com/jemalloc/jemalloc.git Makefile # Clear out all vpaths, then set just one (default vpath) for the main build # directory. vpath vpath % . # Clear the default suffixes, so that built-in rules are not used. .SUFFIXES : SHELL := /bin/sh CC := gcc CXX := g++ # Configuration parameters. DESTDIR = BINDIR := $(DESTDIR)/usr/local/bin INCLUDEDIR := $(DESTDIR)/usr/local/include LIBDIR := $(DESTDIR)/usr/local/lib DATADIR := $(DESTDIR)/usr/local/share MANDIR := $(DESTDIR)/usr/local/share/man srcroot := objroot := abs_srcroot := /home/chaos/skynet

什么是交叉编译

匿名 (未验证) 提交于 2019-12-03 00:22:01
)、操作 ϵͳ (OperatingSystem)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux 平台实际上是Intel x86 体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。 1、在Windows PC上,利用ADS(ARM 开发环境),使用armcc编译器,则可编译出针对ARM CPU的可执行代码。 2、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。 3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码。 二、为什么要使用交叉编译 有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。 文章来源: 什么是交叉编译

Ubuntu16.04交叉编译Android平台下的x264

匿名 (未验证) 提交于 2019-12-03 00:22:01
一,获取x264源码 使用git下载: git clone http://git.videolan.org/git/x264.git 官网下载: 历史版本: 官网下载: android-ndk-r10e-windows-x86.exe 百度网盘下载: 密码: ctv3 下载之后进入到ndk(android-ndk-r10e-linux-x86_64.bin )所在目录,右击打开Teminal命令窗口,逐次执行以下两条命令: chmod a + x android-ndk-r10c-linux-x86_64 . . /android-ndk-r10c-linux-x86_64 . bin 1 三,编译脚本 如果是编译动态库,先进入到x264目录,修改configure文件。定位到 1500行 这几行,将"libx264.so.$API"替换为"libx264.so",文件名中就不要版本了 #!/bin/bash if [ -z "$ANDROID_NDK" ]; then echo "You must define ANDROID_NDK before starting." echo "They must point to your NDK directories.\n" exit 1 fi # Detect OS OS=`uname` HOST_ARCH=`uname -m`

转载 交叉编译Opencv2.4.9完全实录

匿名 (未验证) 提交于 2019-12-03 00:15:02
#1.编译环境及库文件 linux环境:ubuntu14.04 交叉编译工具 gcc-arm-linux-gnueabi 安装 sudo apt-get install gcc-arm-linux-gnueabi sudo apt-get install g+±arm-linux-gnueabi #2.使用cmake-gui配置 以下配置非常关键!!!! 点config Compilers选项中的C选择*-gcc C++选择*-g++,要找到交叉编译工具链所在位置。 find program include 编译工具的库函数(lib)的位置 点Advanced 接下来是终极配置!!不按照以下配置必然会报错!! 去掉BUILD_OPENEXR 去掉BUILD_opencv_ocl 去掉WITH_1394 去掉WITH_CUDA 去掉WITH_GSTREAMER(没见到) 去掉WITH_GTK(没见到) 去掉WITH_LIBV4L(后边有v4l这个没用不要选)(没见到) 去掉WITH_OPENCL 去掉WITH_OPENEXR 去掉WITH_TIFF 在cmake-gui中去掉BUILD_opencv_apps这一项的钩钩!!! 勾上BUILD_JASPER 勾上BUILD_JPEG 勾上BUILD_PNG 勾上BUILD_ZLIB CMAKE_C_FLAGS 设置为-O3 -fPIC

Clang交叉编译初识

匿名 (未验证) 提交于 2019-12-02 23:57:01
最近工作中要编译一个第三方的C库用于iOS端使用,我直接在Mac OS的终端中./configure & make & make install常规走下来,却无法在真机iOS上使用,提示“ Symbol(s) not found for architecture arm64 ”! 通过命令file *.a或者lipo -info *.a,可以看到生成的静态库文件时x86_64架构的。 编译器粗略分为词法分析,语法分析,类型检查,中间代码生成,代码优化,目标代码生成,目标代码优化。把中间代码生成及之前阶段划分问编译器的 前端 ,那么后端与前端是独立的。 前端 主要指与源语言有关但与目标机无关的部分,包括词法分析、语法分析、语义分析与中间表示生成。 后端 主要指与目标机有关的部分,包括代码优化和目标代码生成等。 iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么? arm64:iPhone6s | iphone6s plus|iPhone6| iPhone6 plus|iPhone5S | iPad Air| iPad mini2(iPad mini with Retina Display) armv7s:iPhone5|iPhone5C|iPad4(iPad with Retina Display) armv7:iPhone4|iPhone4S

Qt 交叉编译经典错误――头文件包含

匿名 (未验证) 提交于 2019-12-02 23:55:01
分析: 包含我在某个C头文件中包含了C++ #ifdef __cplusplus //bsp_GPIO.h .c 被 cpp文件引用,需要如此添加 extern "C" { #endif //----------本文件需要引出的函数----------// int GPIO_OutEnable ( int fd , unsigned int dwEnBits ); int GPIO_OutDisable ( int fd , unsigned int dwDisBits ); int GPIO_OpenDrainEnable ( int fd , unsigned int dwODBits ); int GPIO_OutSet ( int fd , unsigned int dwSetBits ); int GPIO_OutClear ( int fd , unsigned int dwClearBits ); int GPIO_PinState ( int fd , unsigned int * pPinState ); int GPIO_IrqEnable ( int fd , unsigned int dwEnBits ); #ifdef __cplusplus } #endif 注:C文件不可以引用C++文件,在现实当中,只能够在C++里面引用c文件

cmake 构建交叉编译工程范例

匿名 (未验证) 提交于 2019-12-02 23:05:13
https://cmake.org/download/ 如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程。 我在开发过程中使用到 Android 和 arm Linux 开发环境。 特别是移植和测试某些库的时候, 。 cmake_minimum_required(VERSION 3.4.1) # 设置工程名称 project(test project) # 设置目标文件名 set(TAG test) # 交叉工具链,必须配置 set(CMAKE_SYSTEM_NAME Linux) # 指定交叉编译环境安装目录 # set(CMAKE_FIND_ROOT_PATH /opt/hisi-linux/x86-arm/arm-hisiv300-linux) # 设置编译器和编译参数 set(CMAKE_C_COMPILER /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-gcc) # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") set(CMAKE_CXX_COMPILER /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm