Ошибка компиляции testOnDemandRTSPServer.cpp (из библиотек Live555) - PullRequest
1 голос
/ 28 июля 2011

Я пытаюсь выяснить, как скомпилировать testOnDemandRTSPServer.cpp , найденный в каталоге testProgs из источника медиа-сервера live555.Я использую Ubuntu 11.04 и установил библиотеки liblivemedia-dev .

Я изменил заголовок включает (в пределах testOnDemandRTSPServer.cpp ), чтобы:

#include <liveMedia/liveMedia.hh>
#include <BasicUsageEnvironment/BasicUsageEnvironment.hh>

И использовал эту команду для компиляции:

g++ -lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment testOnDemandRTSPServer.cpp -o RTSPServer

, что приводит к ошибке:

In file included from /usr/include/liveMedia/MediaSink.hh:25:0,
             from /usr/include/liveMedia/RTPSink.hh:25,
             from /usr/include/liveMedia/MultiFramedRTPSink.hh:26,
             from /usr/include/liveMedia/AudioRTPSink.hh:25,
             from /usr/include/liveMedia/MPEG1or2AudioRTPSink.hh:25,
             from /usr/include/liveMedia/liveMedia.hh:27,
             from testOnDemandRTSPServer.cpp:21:
/usr/include/liveMedia/FramedSource.hh:25:23: fatal error: NetCommon.h: No such file or directory
compilation terminated.

На данный момент я решил, что это хорошая сделка, этопросто проблема перенаправления между заголовочными файлами.Затем я изменил / usr / include / liveMedia / FramedSource.hh , чтобы использовать #include <groupsock/NetCommon.h> вместо #include "NetCommon.h" - поскольку NetCommon.h живет в / usr / include / groupsock /

Thisработал, пока я не нашел миллион других проблем с перенаправлением, таких как:

  • /usr/include/liveMedia/Media.hh:29:22: fatal error: Boolean.hh: No such file or directory
  • /usr/include/liveMedia/Media.hh:33:31: fatal error: UsageEnvironment.hh: No such file or directory
  • Etc ...

Итак, правильно ли я сначала связываюсь с библиотеками live555, или мне придется постоянно менять расположение заголовков по мере необходимости?

Обновление

Поэтому я продолжил изменять заголовокместоположения, использующие вышеупомянутый метод, но теперь я получаю миллион неопределенных опорных ошибок ... , как показано здесь (Извините, слишком много для публикации здесь)

Теперь я почесываю голову,так как оригинальный testOnDemandRTSPServer.cpp компилируется без заминок (используя метод configure / make);и единственное, что я изменил, - это где искать файлы заголовков.

1 Ответ

1 голос
/ 29 августа 2011

Ответ

Не используя библиотеки Ubuntu Packaged вообще ... Но просто скомпилировав исходный код с веб-сайта Live555 .
В пользовательском файле Makefile, этоэто структура, которую я использовал для компиляции своей собственной программы и testOnDemandRTSPServer:

LIVE_INCLUDES=-I../UsageEnvironment/include -I../groupsock/include -I../liveMedia/include -I../BasicUsageEnvironment/include
LIVE_LIBS=../liveMedia/libliveMedia.a ../groupsock/libgroupsock.a ../BasicUsageEnvironment/libBasicUsageEnvironment.a ../UsageEnvironment/libUsageEnvironment.a

g++ $(LIVE_INCLUDES) testOnDemandRTSPServer.c -c
g++ -o testOnDemandRTSPServer -L. testOnDemandRTSPServer.o $(LIVE_LIBS)

Она также решает неопределенные ошибки ссылок: P

...