小さな Linux アプリ uvccapture をコンパイルする方法を理解するのに苦労しています。そのソースはこちらです。私の問題は Makefile を中心に展開し、インクルード要件を満たしています。
私が知る必要があるのはMATH_LIB
、(存在する場合) などの変数をどこで定義する必要があるか、およびその-ljpeg
意味と、それらを満たすために何をする必要があるかです。
私は何を試しましたか?makefile に関するチュートリアルとリファレンスを読み、コンパイルとオプションの変更を試みました。結果: 一般的な混乱!!! 私は何を尋ねるべきかほとんどわかりません。おそらく誰かが私を行かせることができたでしょう。
jpeglib と uvccapture のソースを次のディレクトリに置きました。
~/src/jpeglib
~/src/uvccapture
これまでのところ、実行して実行cd
すると、次のエラーを回避できません。~/src/uvccapture
make
jpeglib.h: No such file or directory
最新の Raspbian 'Wheezy' を実行している Raspberry Pi でコンパイルしています。
UVCCapture の Makefile は次のとおりです。
CC=gcc
CPP=g++
APP_BINARY=uvccapture
VERSION = 0.4
PREFIX=/usr/local/bin
WARNINGS = -Wall
CFLAGS = -std=gnu99 -O2 -DLINUX -DVERSION=\"$(VERSION)\" $(WARNINGS)
CPPFLAGS = $(CFLAGS)
OBJECTS= uvccapture.o v4l2uvc.o
all: uvccapture
clean:
@echo "Cleaning up directory."
rm -f *.a *.o $(APP_BINARY) core *~ log errlog
install:
install $(APP_BINARY) $(PREFIX)
# Applications:
uvccapture: $(OBJECTS)
$(CC) $(OBJECTS) $(XPM_LIB) $(MATH_LIB) -ljpeg -o $(APP_BINARY)
ソース ファイルには、uvccapture.c と v412uvc.h のみが含まれます。uvccapture.c の先頭には、次のインクルード行があります。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <jpeglib.h>
#include <time.h>
#include <linux/videodev.h>
#include "v4l2uvc.h"
上記のエラーを克服するための助けをいただければ幸いです。おまけとして、全体をコンパイルします。おそらく、より単純なメイクファイルでできるでしょうか?たとえば、MATH_LIB ファイルをダウンロードする必要があるのか、それとも gcc に付属しているかどうかはわかりません。
ありがとう!