luvcview-0.2.4移植

Posted hi!画家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luvcview-0.2.4移植相关的知识,希望对你有一定的参考价值。

1.luvcview运行依赖SDL多媒体库,下载SDL源码包,交叉编译SDL
tar –xzvf SDL-1.2.14.tar.gz
cd SDL-1.2.14
vi build.sh
#!/bin/sh
./configure CC=arm-arago-linux-gnueabi-gcc --target=arm-linux --host=arm-linux --prefix=/usr/local/SDL-ARM --enable-static --disable-shared --disable-joystick --disable-cdrom --disable-esd --disable-nasm --enable-video-x11 --enable-video-fbcon --enable-video-opengl --enable-osmesa-shared --disable-arts --without-x --enable-debug -enable-loadso --disable-video-directfb
make
sudo make install
【备注】
error:
./src/audio/dma/SDL_dmaaudio.c: In function ‘DMA_WaitAudio‘:
./src/audio/dma/SDL_dmaaudio.c:166: error: impossible constraint in ‘asm‘
make: *** [build/SDL_dmaaudio.lo] Error 1

--disable-video-x11(加入此项可以编译通过,按照上面编译不会出现此错误)
2.下载luvcview标准源码包,交叉编译luvcview
tar xvf luvcview_0.2.4.orig.tar.gz
cd luvcview_0.2.4
vi Makefile
##############################
# spcaview Makefile
##############################

INSTALLROOT=$(PWD)

+CC=arm-arago-linux-gnueabi-gcc -pthread
+CPP=arm-arago-linux-gnueabi-g++ -pthread
INSTALL=install
APP_BINARY=luvcview
BIN=/usr/local/bin
#SDLLIBS = $(shell sdl-config --libs) 
#SDLFLAGS = $(shell sdl-config --cflags)
+SDLLIBS = -L/usr/local/SDL-ARM/lib -lSDL
+SDLFLAGS = /usr/local/SDL-ARM/include
+TSLLIBS = -L/usr/local/tslib/lib -lts
+TSLFLAGS = /usr/local/tslib/include

#LIBX11FLAGS= -I/usr/X11R6/include -L/usr/X11R6/lib
VERSION = 0.2.4

#WARNINGS = -Wall #           -Wundef -Wpointer-arith -Wbad-function-cast #           -Wcast-align -Wwrite-strings -Wstrict-prototypes #           -Wmissing-prototypes -Wmissing-declarations #           -Wnested-externs -Winline -Wcast-qual -W #           -Wno-unused
#           -Wunused

CFLAGS += -DUSE_SDL -O2 -DLINUX -DVERSION=\"$(VERSION)\" -I$(SDLFLAGS) $(WARNINGS)
CPPFLAGS = $(CFLAGS)

OBJECTS= luvcview.o color.o utils.o v4l2uvc.o gui.o avilib.o
		

all:	luvcview

clean:
	@echo "Cleaning up directory."
	rm -f *.a *.o $(APP_BINARY) core *~ log errlog *.avi

# Applications:
luvcview:	$(OBJECTS)
	$(CC)	$(CFLAGS) $(OBJECTS) $(X11_LIB) $(XPM_LIB)		$(MATH_LIB) 		$(SDLLIBS)		+$(TSLLIBS)		-o $(APP_BINARY)
	chmod 755 $(APP_BINARY)


install: luvcview
	$(INSTALL) -s -m 755 -g root -o root $(APP_BINARY) $(BIN) 
	rm -f $(BIN)/uvcview
【备注】
每行以“+”开头的部分,表示是需要修改或添加的部分
手动加了一些库,编译的时候报错一些函数未定义,加了之后就可以了。
-lts 是触摸屏的库,之前移植过,也比较容易就不介绍了。

源代码修改 luvcview.c
(1). #include <X11/Xlib.h>
--->>> //#include <X11/Xlib.h>
#make(luvcview程序就可以编译成功了)
把 luvcview 复制到开发板 就能运行了。


附件列表

     

    以上是关于luvcview-0.2.4移植的主要内容,如果未能解决你的问题,请参考以下文章

    如何使用片段反向移植?

    将非框架 PHP 项目移植到 Laravel 4.x

    使用片段清除回栈

    方向更改时,片段视图为空

    在android中使用底部导航的最佳实践:活动与片段

    微信小程序代码片段