码迷,mamicode.com
首页 > 其他好文 > 详细

luvcview-0.2.4移植

时间:2017-08-20 22:35:44      阅读:692      评论:0      收藏:0      [点我收藏+]

标签:gnu   san   pre   触摸屏   运行   indent   win   ast   clean   

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移植

    标签:gnu   san   pre   触摸屏   运行   indent   win   ast   clean   

    原文地址:http://www.cnblogs.com/xiansong1005/p/7401448.html

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!