导航:首页 > 源码编译 > 交叉编译的输出文件

交叉编译的输出文件

发布时间:2024-11-15 14:41:29

⑴ 自己制作 arm-linux 交叉编译环境 ,为什么没有生成version.h和autoconf.h

using defaults found in /boot/config-2.6.32-21-generi

很显然,make menuconfig的时候去/boot下面找的系统默认配置文件,没有使用工作目录下的配置文件。
将/boot下所有的文件先备份一下,然后删除所有的 *config* 文件试试

⑵ 在ARM上运行交叉编译后的opencv文件,没有输出

一、交叉编译opencv
构造:

下载:各个库的下载可以直接搜名字到官网下载
几个关键解释:
“--prefix=” 后边跟make install时的位置,本例中,libz在make install时将安装到/usr/arm-linux-gnueabihf中
“--host=” 后边跟arm-linux表明使用的是ARM环境
有configure的才能进行configure配置
4)所有的makefile修改类似
Libz的交叉编译
第一步:# ./configure --prefix=/usr/arm-linux-gnueabihf --shared
第二步:修改makefile,主要有下边几个,修改的时候通篇参照即可
CC=arm-linux-gnueabihf-gcc
AR=arm-linux-gnueabihf-ar rc
RANLIB=arm-linux-gnueabihf-ranlib
STRIP = arm-linux-gnueabihf-strip
如果有ARCH的话,ARCH=ARM
第三步:#sudo make
#sudo make install
Libjpeg的交叉编译
第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc
第二步:参考1)中方法修改makefile
第三步:#sudo make
#sudo make install
Libpng的交叉编译
第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc
第二步:参考1)中方法修改makefile
第三步:#sudo make
#sudo make install
Yasm的交叉编译
第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static
第二步:修改makefile
第三步:#sudo make
#sudo make install
Libx264的交叉编译
第一步:#CC=arm-linux-gnueabihf-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/usr/arm-linux-gnueabihf
第二步:修改config.mak里的参数,因为makefile要调用config.mak,所以修改方法同makefile
第三步:#sudo make
#sudo make install
Libxvid的交叉编译
第一步:首先切换目录 #cd build/generic
第二步:#./configure --prefix=/usr/arm-linux-gnueabihf --host=arm-linux --disable-assembly
第三步:#sudo make
#sudo make install
ffmpeg的交叉编译
第一步:
./configure --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-yasm --disable-stripping --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/arm-linux-gnueabihf/include --extra-ldflags=-L/usr/arm-linux-gnueabihf/lib --prefix=/usr/arm-linux-gnueabihf
第二步:修改makefile文件
第三步:#sudo make
#sudo make install
第四步:将ffmpeg加入pkg-config
执行#sudo gedit /etc/bash.bashrc,在末尾加入
export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib/
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/arm-linux-gnueabihf /lib/pkgconfig
export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:/usr/arm-linux-gnueabihf /lib/
完毕后使用命令:#source /etc/bash.bashrc
或者单独使用三个export,不过寿命只在一个终端中,终端关闭时就失效。
几个关键解释:--extra-flags指向xvid的安装路径,--extra-ldflags指向x264的路径
安装cmake-gui
执行:#sudo apt-get install cmake-qt-gui
Opencv的交叉编译
第一步:修改opencv/platflrms/linux/目录下的arm-gnueabi.toolchain.cmake,将其所有删掉,写入:
set( CMAKE_SYSTEM_NAME Linux )
set( CMAKE_SYSTEM_PROCESSOR arm )
set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc )
set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ )
第二步:在opencv目录下新建build目录,进入build目录,执行命令:
#cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ../
这时,要保证出现:

第三步:使用cmake-gui打开CMakeCache.txt,去掉所有的无关项,修改CMAKE_INSTALL_PREFIX,来确定make install的目录
第四步:#sudo make
#sudo make install
可能出现的错误:
opencv编译不通过,出现skip之类的,说明ffmpeg没编译好,或者其编译好了,但是pkg-config没有设置好,一定要设置好其环境
前边几步不通过的话,看看命令有没有少,或者有没有修改好makefile
在arm上使用时,一种方法时直接将编译好的opencv目录下的lib文件拷贝到开发板对应的/lib目录下,其他或者拷贝到自己指定的目录,并设置好环境变量即可使用

阅读全文

与交叉编译的输出文件相关的资料

热点内容
装修门户网站源码 浏览:750
安装海龟编译器 浏览:744
金先生下了命令 浏览:792
编译错误c2601 浏览:170
h5斗地主游戏源码 浏览:577
我的解压游戏怎么获得全地图 浏览:907
三把斧app怎么下载 浏览:386
内网ntp时间同步服务器地址 浏览:183
香肠派对脚本源码 浏览:92
jsp服务器怎么转发 浏览:859
服务器和网站开发有什么区别 浏览:764
如何下载测试服务器 浏览:179
怎么教育孩子的app 浏览:172
交叉编译的输出文件 浏览:331
手机app怎么变更办税员 浏览:936
sql服务停用命令 浏览:912
为什么系统要用两个云服务器 浏览:680
两个pdf怎么合并 浏览:295
php查询为空 浏览:591
香港服务器丢包了怎么办 浏览:48