luvcview分析 1 環境搭建

2021-07-22 07:48:16 字數 4549 閱讀 9464

一. 原始碼編譯及目標

cong@msi:

/tmp$ sudo apt-cache showsrc luvcview /

/a.檢視有沒有這個原始碼包

cong@msi:

/tmp$ sudo apt-

get source luvcview /

/b. 這就在當前目錄下

cong@msi:

/tmp$ ls

luvcview_0.2.6-6.dsc luvcview-0.2.6 luvcview_0.2.6.orig.tar.gz luvcview_0.2.6-6.debian.tar.gz

2. luvcview編譯

cong@msi:

/work/test/busytest/luvcview-0.2.6$ make                  //直接make就可以了

package libv4l2 was not found in the pkg-config search path.       //提示libv4l2包沒有找到

perhaps you should add the directory containing `libv4l2.pc'

no package 'libv4l2' found

v4l2uvc.c:28:21: fatal error

: libv4l2.h: no such file or directory   //缺少libv4l2標頭檔案

#include 

cong@msi:

/work/test/busytest/luvcview-0.2.6$ sudo apt-cache search libv4l2   //查詢libv4l2包

libv4l-dev - collection of video4linux support libraries (development files) 

cong@msi:

/work/test/busytest/luvcview-0.2.6$ sudo apt-

get install libv4l-dev  //安裝libv4l2-dev

安裝好libv4l2之後就可以編譯出libvucview了

3. libv4l庫的編譯

/直接make就可以了,這兒是編成靜態庫

4. libv4l庫的使用

makefile中:

cflags=

-g -o0 -i/work/test

/uvcview/libv4l2/libv4l-0.6.1/include               //新增include路徑

v4l2libs =

-l/work/test

/uvcview/libv4l2/libv4l-0.6.1/libv4l2 -lv4l2 \         //新增庫的鏈結路徑

注意:a. 出現undefined reference to `shm_open',是因為libv4l2庫中用到了,需要在編譯時加上-lrt

b. 出現undefined reference to `powf',是因為libv4l2庫中用到了,需要在編譯時加上-lm

c. 為了防止系統中己安裝的v4l2庫的干擾,把v4l2刪掉: sudo apt-get remove libv4l-dev  

5. 目標

目標是通過分析luvcview,自己動手寫乙個luvcview,這不是再次造輪子,而是乙個學習並提高的過程。

二. 測試demo

)  //查詢裝置屬性

//接下來就可以進行一系列的判斷了

& v4l2_cap_video_capture    //

判斷是否支援影象獲取

& v4l2_cap_streaming   

//是否具有資料流控制模式

& v4l2_cap_readwrite 

//是否支援 read和write i/o操作函式

c.執行結果

:        //v4l2庫列印的

libv4lconvert: warning more framesizes then i can   //v4l2庫列印的

libv4lconvert: warning more framesizes then i can   //v4l2庫列印的

1 環境搭建

對於這個東西嗎,我也不是很了解,邊學邊記錄下來 需要的軟體都存入雲盤了 環境搭建 2 配置好路徑後,cmd命令除錯,敲入gradle然後回車,配置成功後如圖 選好自己想要的,已經開發引擎,點選generate,開始生成專案,生成過程中 generate按鈕變灰色,等待到變回白色高亮時候,專案就建立成...

nullb driver分析0 環境搭建

2.修改 3.測試方法 本系列文章主要從null block dev驅動 位於drivers block 著手來分析block多佇列機制,本文只是簡要說明相關環境搭建的方法。核心版本 kernel 4.19 本文選擇將null block驅動編譯進核心 mount t configfs none m...

Django筆記1 環境搭建

一 軟體安裝 python3.4.1 django1.7.1 mysql5.6 1,安裝python3.4.1 不多說 2.dos視窗切換到python的安裝目錄下的python34 scripts 利用pip 安裝django pip install django 1.7.1 2.安裝mysql ...