Fix RTSP compile issues and add howto for running it correctly

pkg-config is wonderful, but .pc suppliers just have to write correct files...
This commit is contained in:
Lekensteyn 2012-03-08 00:06:42 +01:00
parent 1b357f1f1b
commit 93edbf0fb9
2 changed files with 25 additions and 21 deletions

View file

@ -1,21 +1,21 @@
SRC = main.cpp ../util/socket.cpp ../util/http_parser.cpp ../util/flv_tag.cpp ../util/amf.cpp SRC = main.cpp ../util/socket.cpp ../util/http_parser.cpp ../util/flv_tag.cpp ../util/amf.cpp ../util/util.cpp
OBJ = $(SRC:.cpp=.o) OBJ = $(SRC:.cpp=.o)
OUT = Connector_RTSP OUT = Connector_RTSP
INCLUDES = INCLUDES = $(shell pkg-config --cflags jrtplib)
DEBUG = 4 DEBUG = 4
OPTIMIZE = -g OPTIMIZE = -g
CCFLAGS = -Wall -Wextra -funsigned-char $(OPTIMIZE) -DDEBUG=$(DEBUG) CCFLAGS = -Wall -Wextra -funsigned-char $(OPTIMIZE) -DDEBUG=$(DEBUG)
CC = $(CROSS)g++ CC = $(CROSS)g++
LD = $(CROSS)ld LD = $(CROSS)ld
AR = $(CROSS)ar AR = $(CROSS)ar
LIBS = -ljthread -lpthread -ljrtp LIBS = $(shell pkg-config --libs jrtplib)
.SUFFIXES: .cpp .SUFFIXES: .cpp
.PHONY: clean default .PHONY: clean default
default: $(OUT) default: $(OUT)
.cpp.o: .cpp.o:
$(CC) $(INCLUDES) $(CCFLAGS) $(LIBS) -c $< -o $@ $(CC) $(INCLUDES) $(CCFLAGS) $(LIBS) -c $< -o $@
$(OUT): $(OBJ) $(OUT): $(OBJ)
$(CC) $(LIBS) -o $(OUT) $(OBJ) $(CC) -o $(OUT) $(OBJ) $(LIBS)
clean: clean:
rm -rf $(OBJ) $(OUT) Makefile.bak *~ rm -rf $(OBJ) $(OUT) Makefile.bak *~
run-test: $(OUT) run-test: $(OUT)

View file

@ -1,21 +1,25 @@
Makefile LIBS: -ljthread -lpthread -ljrtp (al ingesteld) example for installing to ../usr (use DESTDIR=/tmp, /usr/local or whatever you want)
$ DESTDIR="${PWD%/*}/usr"
alle includes: <jrtplib3/[blaat.h]> (al gedaan) building jthread (as local user, no root required):
$ cd $somedir
$ wget http://research.edm.uhasselt.be/jori/jthread/jthread-1.3.1.tar.gz
$ tar xvf jthread-1.3.1.tar.gz && cd jthread-1.3.1
$ cmake -DCMAKE_INSTALL_PREFIX:PATH="$DESTDIR"
$ make && make install
in /usr/local/include/jrtplib3/rtpsession.h (lokaal, was via jrtplib's "make install") AFTER building jthread
en /usr/local/include/jrtplib3/rtpudpv4transmitter.h (lokaal, was via jrtplib's "make install") $ cd $somedir
verander #include <jmutex.h> naar #include <jthread/jmutex.h> $ wget http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.9.1.tar.bz2
$ tar xf jrtplib-3.9.1.tar.bz2 && cd jrtplib-3.9.1
$ cmake -DCMAKE_INSTALL_PREFIX:PATH="$DESTDIRr" -DADDITIONAL_INCLUDE_DIRS:STRING="$DESTDIR/include"
$ make -j8
Modify $DESTDIR/usr/lib/pkgconfig/jrtplib.pc such that it looks like (subst $DESTDIR accordingly):
Libs: -L$DESTDIR/lib/ -ljrtp -ljthread -lpthread
$ make install
building Connector_RTSP:
$ PKG_CONFIG_PATH=$DESTDIR/lib/pkgconfig make
anders geen compiles... Running Connector_RTSP:
$ LD_LIBRARY_PATH="$DESTDIR/lib:$LD_LIBRARY_PATH" ./Connector_RTSP
Vervolgens: bij het runnen van ./Connector_RTSP:
./Connector_RTSP: error while loading shared libraries: libjrtp-3.7.1.so: cannot open shared object
file: No such file or directory
dus: ik kan op het moment genoeg coden, en zorgen dat het compiled, maar ook daadwerkelijk draaien
wordt lastig... Enige ideeen?