面向iTop-4418交叉编译SDL2和luvcview

交叉编译器位于/usr/local/arm/4.3.2/bin/,前缀为arm-none-linux-gnueabi,系统包含16个核心。

在本机克隆并编译安装SDL2( https://wiki.libsdl.org/SDL2/Installation ):

cd ~
git clone https://github.com/libsdl-org/SDL.git -b SDL2
cd SDL
mkdir build
cd build
../configure
make -j16
sudo make install

交叉编译SDL2( https://my.oschina.net/emacs_8791039/blog/17272378https://blog.csdn.net/ckg3824278/article/details/138269739 ):

export PATH=$PATH:/usr/local/arm/4.3.2/bin/
cd SDL
mkdir build-arm
cd build-arm
../configure --host=arm-none-linux-gnueabi --prefix=/opt/sdl2-arm --disable-joystick --disable-video-opengl --disable-video-opengles

修改configure生成的Makefile,在CC行后加入: -march=armv6。执行:

make -j16
su
make install
exit

由于直接使用sudo make install会丢失环境变量,因此进入su模式处理。

交叉编译luvcview( https://www.cnblogs.com/xiansong1005/p/7401448.html ):

git clone https://github.com/ksv1986/luvcview.git
cd luvcview

修改Makefile中的以下行:

CC=arm-none-linux-gnueabi-gcc
CPP=arm-none-linux-gnueabi-g++
INSTALL=install
APP_BINARY=luvcview
BIN=/usr/local/bin
SDLLIBS = $(shell /opt/sdl2-arm/bin/sdl2-config --libs) 
SDLFLAGS = $(shell /opt/sdl2-arm/bin/sdl2-config --cflags)

修改luvcview.c,屏蔽#include <X11/Xlib.h>,回控制台执行:

make all

/opt/sdl2/lib目录复制到开发板的/usr/即可。

it
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License