Я пытаюсь создать библиотеку для гистограммы ориентированных градиентов называется fastHOG на моем компьютере Ubuntu 12.04. Когда я пытаюсь скомпилировать готовый код fastHOG, компилятор жалуется, что не может найти fltk/run.h
, В соответствии с Учебник Рахула Ашока о fastHOG, Мне нужно установить Fast Light Toolkit (FLTK) 2.0. В учебнике говорится, что версии FLTK, отличные от 2.0, не работают.
Итак, я пытаюсь скомпилировать FLTK 2.0 (svn co http://svn.easysw.com/public/fltk/fltk/trunk fltk-2.0
). Когда я делаю make
в fltk-2.0
папка, я получаю ошибки как undefined reference to 'FcInit'
,
Любой совет, как заставить FLTK 2.0 правильно скомпилировать?
Вот полная распечатка ошибок, которую я получаю при сборке FLTK 2.0 с g ++ 4.6.3 в Ubuntu 12.04:
...
Linking fluid2...
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::list_fonts(fltk::Font**&): error: undefined reference to 'FcInit'
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::list_fonts(fltk::Font**&): error: undefined reference to 'FcPatternCreate'
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::list_fonts(fltk::Font**&): error: undefined reference to 'FcObjectSetBuild'
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::list_fonts(fltk::Font**&): error: undefined reference to 'FcFontList'
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::list_fonts(fltk::Font**&): error: undefined reference to 'FcPatternDestroy'
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::list_fonts(fltk::Font**&): error: undefined reference to 'FcPatternGetString'
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::list_fonts(fltk::Font**&): error: undefined reference to 'FcFontSetDestroy'
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::Font::sizes(int*&): error: undefined reference to 'FcPatternGetDouble'
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::Font::sizes(int*&): error: undefined reference to 'FcFontSetDestroy'
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::Font::encodings(char const**&): error: undefined reference to 'FcFontSetDestroy'
../lib/libfltk2.a(Font.o):Font.cxx:function fltk::Font::encodings(char const**&): error: undefined reference to 'FcPatternGetString' ../lib/libfltk2.a(Image.o):Image.cxx:function figure_out_visual(): error: undefined reference to 'XRenderFindStandardFormat'
../lib/libfltk2.a(Image.o):Image.cxx:function fl_xrender_draw_image(unsigned long, fltk::PixelType, fltk::Rectangle const&, fltk::Rectangle const&): error: undefined reference to 'XRenderCreatePicture'
../lib/libfltk2.a(Image.o):Image.cxx:function fl_xrender_draw_image(unsigned long, fltk::PixelType, fltk::Rectangle const&, fltk::Rectangle const&): error: undefined reference to 'XRenderSetPictureFilter'
../lib/libfltk2.a(Image.o):Image.cxx:function fl_xrender_draw_image(unsigned long, fltk::PixelType, fltk::Rectangle const&, fltk::Rectangle const&): error: undefined reference to 'XRenderSetPictureTransform'
../lib/libfltk2.a(Image.o):Image.cxx:function fl_xrender_draw_image(unsigned long, fltk::PixelType, fltk::Rectangle const&, fltk::Rectangle const&): error: undefined reference to 'XRenderComposite'
../lib/libfltk2.a(Image.o):Image.cxx:function fl_xrender_draw_image(unsigned long, fltk::PixelType, fltk::Rectangle const&, fltk::Rectangle const&): error: undefined reference to 'XRenderComposite'
../lib/libfltk2.a(Image.o):Image.cxx:function fl_xrender_draw_image(unsigned long, fltk::PixelType, fltk::Rectangle const&, fltk::Rectangle const&): error: undefined reference to 'XRenderComposite'
../lib/libfltk2.a(Image.o):Image.cxx:function fl_xrender_draw_image(unsigned long, fltk::PixelType, fltk::Rectangle const&, fltk::Rectangle const&): error: undefined reference to 'XRenderFreePicture'
collect2: ld returned 1 exit status
make[1]: *** [fluid2] Error 1
make: *** [all] Error 2
Ваши последние ошибки, кажется, указывают на то, что вам не хватает файлов для разработки xrender
, Попробуй установить их с помощью apt-get
(возможно, sudo apt-get install libxrender-dev
и посмотрим, исправит ли это эти проблемы.
Первые несколько ошибок также указывают на то, что вам не хватает файлов для разработки эта библиотека. Попробуй установить libfontconfig1-dev
Немного опоздал, но просто добавил для полноты. FLTK2 не собирается из коробки.
1) Требуются следующие пакеты: как только вы их получили, перезапустите configure. Там может быть больше, поскольку я не пробовал это в девственной системе.
2) Измените makeinclude после того, как он был сгенерирован с помощью configure (альтернативно измените config.in, но я еще не выяснил, как это сделать).
LDLIBS add -lfontconfig -lXrender
GDLIBS add -lfontconfig -lXrender -lfreetype
Интересно — кажется, что «достаточно» FLTK, успешно скомпилированного для fastHOG, чтобы избежать ошибок компиляции.