2012-12-26 26 views
1

我試圖在我的Ubuntu 12.04計算機上爲histograms of oriented gradients設置一個名爲fastHOG的庫。當我嘗試編譯off-the-shelf fastHOG code時,編譯器會抱怨找不到fltk/run.h。根據Rahul Ashok's tutorial about fastHOG,我需要安裝Fast Light Toolkit (FLTK) 2.0。本教程指出,2.0以外的FLTK版本不起作用。編譯快速工具包(FLTK)2.0與fastHOG一起使用

所以,我試圖編譯FLTK 2.0(svn co http://svn.easysw.com/public/fltk/fltk/trunk fltk-2.0)。當我在fltk-2.0文件夾中執行make時,出現類似undefined reference to 'FcInit'的錯誤。

有關如何讓FLTK 2.0正確編譯的任何建議?

下面是完整的錯誤打印輸出的g ++ 4.6.3在Ubuntu 12.04建設FLTK 2.0的時候,我得到:

... 
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 

回答

1

你的最後一個錯誤似乎表明你缺少開發文件xrender。嘗試使用apt-get(可能sudo apt-get install libxrender-dev安裝them,看看是否能解決這些問題

一是一些錯誤同樣表明你缺少開發文件this library嘗試安裝libfontconfig1-dev

+0

謝謝 - 我只是試了一下。 'libxrender-dev已經是最新版本了' – solvingPuzzles

+0

還有什麼我想嘗試的? – solvingPuzzles

+0

我不能想到其他任何東西:(我希望在Makefile中的標誌正確包含上述2個庫? –

0

有趣 - 。似乎「夠」 FLTK的成功搭建了fastHOG讓過去的編譯錯誤。

1

有點晚了,但只是添加的完整性。FLTK2不建開箱。

1)以下帕茨卡ges是必需的:一旦你有了它們,重新運行configure。可能還有更多,因爲我還沒有嘗試過這個處女系統。

  • 的libglu1檯面-dev的
  • libice-dev的
  • 中的libjpeg62-dev的
  • 填實:libpng12-dev的
  • 的libx11-dev的
  • libxcursor-dev的
  • libxext-dev的
  • libxft-dev
  • libxinerama-dev
  • libxi-dev的
  • 檯面共dev的
  • 的zlib1g-dev的

2)修改makeinclude它已被配置生成之後(或者修改config.in但我還沒有想出出了如何做到這一點)。

LDLIBS add -lfontconfig -lXrender 
GDLIBS add -lfontconfig -lXrender -lfreetype