Проблемы с компиляцией OpenCV со статической компоновкой на pandaboard

Я установил opencv со статической компоновкой на pandaboard, используя параметр BUILD_SHARED_LIBS = 0. Я использую Ubuntu 11.10. Я также создал сторонние библиотеки png, jpeg, jasper и zlib. (параметры cmake BUILD_PNG = ON BUILD_JASPER = ON BUILD_JPEG = ON BUILD_ZLIB = ON WITH_JPEG = ON WITH_PNG = ON WITH_JASPER = ON). Моя установка opencv прошла успешно. Однако, когда я компилирую тестовую программу, я получаю несколько неопределенных ссылок на ошибки. Все эти ошибки, похоже, связаны с библиотеками jpeg, png и jasper, но я не могу понять, почему libhighgui не может ссылаться на сторонние библиотеки, когда я явно связываю их. Вот как я компилирую свою программу:

g++ -static face_recognition.cpp -o fcarm -I/home/nandhini/opencv/2.4.2static/include/opencv -I/home/nandhini/opencv/2.4.2static/include -L/home/nandhini/opencv/2.4.2static/lib/ -L/home/nandhini/opencv/2.4.2static/share/OpenCV/3rdparty/lib -llibjpeg -llibjasper -llibpng -lzlib -lopencv_core -lopencv_contrib -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_flann -lopencv_photo -lopencv_legacy -pthread -lm -lrt -lstdc++ -ldl

Я уже долгое время сталкиваюсь с этой проблемой, и я был бы очень признателен, если бы кто-нибудь помог мне решить эту проблему. Пожалуйста, помогите, спасибо!

Вот список моих ошибок:

Порядок, в котором связаны библиотеки, имеет значение! Этот может быть проблема.


person user1193538    schedule 23.03.2013    source источник


Ответы (1)


Спасибо, сработало! Я посмотрел на pkg_config / opencv.pc и посмотрел, в каком порядке связаны библиотеки. Это сработало! большое спасибо !!

person karlphillip    schedule 23.03.2013
comment
_2_icvGets (CvFileStorage *, char *, int) ': persistence.cpp :(. Text._ZL7icvGetsP13CvFileStoragePci + 0x7e): неопределенная ссылка на _3__ZL16icvYMLSkipSpacesPrageSP13CvpaceYStoragePcileSkipSpacesP13CvpaceStoragePcii.constprop. ): неопределенная ссылка на _4_icvPuts (CvFileStorage *, char const *) ': persistence.cpp :(. text._ZL7icvPutsP13CvFileStoragePKc + 0x138): неопределенная ссылка на _5_icvXMLSkipSpaces (CvFileStorage) *, char *. text._ZL16icvXMLSkipSpacesP13CvFileStoragePci + 0x1a2): неопределенная ссылка на _6_icvClose (CvFileStorage *, std :: basic_string, std :: allocator> *) ': persistence.cpp :(. text._ZL8icvistence_CloseP13CvCvCvC: undefined ссылка на cpp :(. text.cvOpenFileStorage + 0x1b0): неопределенная ссылка на _8_gzclose 'persistence.cpp :(. text.cvOpenFileStorage + 0x734): неопределенная ссылка на _9_gzclose' /home/nandhini/openighcv/2.4.2staticopenci. // a (grfmt_jpeg2000.cpp.o): В функции tion _10_jas_cleanup '/home/nandhini/opencv/2.4.2static/lib//libopencv_highgui.a(grfmt_jpeg2000.cpp.o): В функции _11_jas_stream_close' grfmt_jpeg2000.cvd_cpp :( : Jpeg2KDecoder :: readHeader () ': grfmt_jpeg2000.cpp :(. Text._ZN2cv13Jpeg2KDecoder10readHeaderEv + 0xe): неопределенная ссылка на _13_jas_image_decode' /home/nandhinic_apencv/ ): в функции _14_jas_image_getcmptbytype 'grfmt_jpeg2000.cpp :( text._ZN2cv13Jpeg2KDecoder8readDataERNS_3MatE + 0x68):. неопределенная ссылка на _15_jas_image_getcmptbytype' grfmt_jpeg2000.cpp :( text._ZN2cv13Jpeg2KDecoder8readDataERNS_3MatE + 0xb8):. неопределенная ссылка на _16_jas_matrix_create»grfmt_jpeg2000.cpp :( текст.. _ZN2cv13Jpeg2KDecoder8readDataERNS_3MatE + 0x13e): неопределенная ссылка на _17_jas_matrix_destroy 'grfmt_jpeg2000.cpp :(. Text._ZN2cv13Jpeg2KDecoder8readDataERNSj_18Mat_Core_DataERNSj_05_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_02 00.cpp :( text._ZN2cv13Jpeg2KDecoder8readDataERNS_3MatE + 0x1a2). Неопределенная ссылка на grfmt_jpeg2000.cpp _19_jas_cmprof_destroy»:( text._ZN2cv13Jpeg2KDecoder8readDataERNS_3MatE + 0x220):. Неопределенная ссылка на _20_cv :: Jpeg2KEncoder :: writeComponent8u (пустота *, резюме :: Mat сопзЬ & ) ': grfmt_jpeg2000.cpp :( text._ZN2cv13Jpeg2KEncoder16writeComponent8uEPvRKNS_3MatE + 0x1c). неопределенная ссылка на _21_jas_image_writecmpt' grfmt_jpeg2000.cpp :( text._ZN2cv13Jpeg2KEncoder16writeComponent8uEPvRKNS_3MatE + 0xa0). неопределенная ссылка на _22_cv :: Jpeg2KEncoder :: writeComponent16u (пустота *, резюме: : Mat const &) ': grfmt_jpeg2000.cpp :(. Text. _ZN2cv13Jpeg2KEncoder17writeComponent16uEPvRKNS_3MatE + 0x1c): не определена ссылка на _23_jas_image_writecmpt 'grfmt_jpeg2000.cpp :( text._ZN2cv13Jpeg2KEncoder17writeComponent16uEPvRKNS_3MatE + 0xa0):. Неопределенная ссылка на _24_cv :: Jpeg2KEncoder :: запись (резюме :: Мат Const &, станд :: вектор> Const &)': grfmt_jpeg2000 .cpp :( text._ZN2cv13Jpeg2KEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x5a):. неопределенная ссылка на _25_jas_image_destroy 'grfmt_jpeg2000.cpp :( text._ZN2cv13Jpeg2KEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0xbe):. неопределенная ссылка на _26_jas_image_strtofmt' grfmt_jpeg2000.cpp :( text._ZN2cv13Jpeg2KEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0xda):. неопределенная ссылка в _27_jas_stream_close '/home/nandhini/opencv/2.4.2static/lib//libopencv_highgui.a(grfmt_jpeg2000.cpp.o): в функции _28_jas_init' /home/nandhini/opencv/libcv/libo // templmatch.cpp.o): В функции _29_cv :: getOptimalDFTSize (int) 'templmatch.cpp :(. text._ZN2cv9crossCorrERKNS_3MatES2_RS0_NS_5Size_IiEEiN S_6Point_IiEEdi + 0x33c): неопределенная ссылка на _30_cv :: dft (cv :: _ InputArray const &, cv :: _ OutputArray const &, int, int) 'templmatch.cpp :(. Text._ZN2cv9crossCorrERKNS_3MatES2_RSize_DiPext_Support_3MatES2_Ni_size_di_s_d_s_d_d_c_s1 (cv :: _ InputArray const &, cv :: _ InputArray const &, cv :: _ OutputArray const &, int, bool) 'templmatch.cpp :(. text._ZN2cv9crossCorrERKNS_3MatES2_RS0_NS_5Size_IiEEiNS_6_RS0_NS_5Size_IiEEiNS_6 + 0_Ifinance_IiEEiNS_6 , беззнаковый символ *, беззнаковое целое) ': grfmt_png.cpp :(. text._ZN2cv10PngDecoder15readDataFromBufEPvPhj + 0xc): неопределенная ссылка на _33_png_error' /home/nandhini/opencv/2.4.2staticopenci. o): В функции _34_png_destroy_read_struct '/home/nandhini/opencv/2.4.2static/lib//libopencv_highgui.a(grfmt_png.cpp.o): В функции _35_png_create_read_struct' grfm10(Dext_png.video.site_read_struct 'grfmt_png. ссылка на _36_png_create_info_struct 'grfmt_png. каст :( text._ZN2cv10PngDecoder10readHeaderEv + 0x6a). неопределенная ссылка на _37_png_init_io 'grfmt_png.cpp :( text._ZN2cv10PngDecoder10readHeaderEv + 0xd8). неопределенная ссылка на _38_png_get_IHDR' grfmt_png.cpp :( text._ZN2cv10PngDecoder10readHeaderEv + 0x166):. неопределенная ссылка на _39_cv :: PngEncoder :: write (cv :: Mat const &, std :: vector> const &) ': grfmt_png.cpp :(. Text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x18 )_ текстовая ссылка на _40. _ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x9e): не определена ссылка на _41_png_set_write_fn 'grfmt_png.cpp :( text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x14a):. Неопределенная ссылка на _42_png_set_compression_strategy' grfmt_png.cpp :( text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x19a): не определена. Ссылку на _43_png_write_info»grfmt_png.cpp: (.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x1ba): не определена ссылка на _44_png_set_swap 'grfmt_png.cpp :( text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x208):. неопределенная ссылка на _45_png_write_end' grfmt_png.cpp :( text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x22e):. неопределенная ссылка на _46_png_init_io» grfmt_png.cpp :(. text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x2c6): неопределенная ссылка на _47_png_set_compression_level '/home/nandhini/opencvl_compression_level. grfmt_png.cpp :( text._ZN2cv10PngDecoder8readDataERNS_3MatE + 0xFA):. неопределенная ссылка на _49_png_read_update_info 'grfmt_png.cpp :( text._ZN2cv10PngDecoder8readDataERNS_3MatE + 0x126):. неопределенная ссылка на _50_png_read_end'. grfmt_png.cpp :( text._ZN2cv10PngDecoder8readDataERNS_3MatE + 0x14e): не определено ссылка на _51_png_set_rgb_to_gray 'grfmt_png.cpp :( text._ZN2cv10PngDecoder8readDataERNS_3MatE + 0x170):. неопределенная ссылка на _52_png_set_strip_alpha' grfmt_png.cpp :( text._ZN2cv10PngDecoder8readDataERNS_3MatE + 0x180):.. неопределенная ссылка на _53_png_set_expand_gray_1_2_4_to_8' grfmt_png.cpp :( text._ZN2cv10PngDecoder8readDataERNS_3MatE + 0x194): неопределенная ссылка на _54_cv :: PNGEncoder :: writeDataToBuf (недействительными *, неподписанные символ *, беззнаковое целое) ':. grfmt_png.cpp :( text._ZN2cv10PngEncoder14writeDataToBufEPvPhj + 0x16): неопределенная ссылка на _55__ZN2cvL16my_jpeg_load_dhtEP22jpeg_decompress_structPhPP9JHUFF_TBLS5_.constprop.30': grfmt_jpeg .cpp :(. text.unlikely._ZN2cvL16my_jpeg_load_dhtEP22jpeg_decompress_ structPhPP9JHUFF_TBLS5_.constprop.30 + 0xa4): неопределенная ссылка на _56_cv :: JpegEncoder :: write (cv :: Mat const &, std :: vector> const &) ': grfmt_jpeg.cpp :(. text._ZN2cv11JpegEncoderNo + 0xa1eincoderNo_Undex_ZN2cv11JpegEncoder: к _57_jpeg_std_error»grfmt_jpeg.cpp :( text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0xdc). неопределенная ссылка на _58_jpeg_set_defaults' grfmt_jpeg.cpp :( text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x1a2). неопределенная ссылка на _59_jpeg_start_compress' grfmt_jpeg.cpp :( текст.. _ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x1f6):. Grfmt_jpeg.cpp :( text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x25e): неопределенная ссылка на _61_jpeg_write_scanlines' неопределенная ссылка на _60_jpeg_finish_compress grfmt_jpeg.cpp :( text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE + 0x2fa). Неопределенная ссылка на _62_cv :: JpegDecoder :: close () ': grfmt_jpeg.cpp :(. text._ZN2cv11JpegDecoder5closeEv + 0xa): неопределенная ссылка на _63_cv :: JpegDecoder :: readData (cv :: Mat &)': grfmt_jpeg.cpp :(. textERCV11_read_ZpegD2) :(. ссылка на _64_jpeg_read_scanlines' grfmt_jpeg.cpp :( text._ZN2cv11JpegDecoder8readDataERNS_3MatE + 0x15a). неопределенная ссылка на _65_cv :: JpegDecoder :: ReadHeader () ':. grfmt_jpeg.cpp :( text._ZN2cv11JpegDecoder10readHeaderEv + 0x20): неопределенная ссылка на grfmt_jpeg _66_jpeg_CreateDecompress' .cpp :(. text._ZN2cv11JpegDecoder10readHeaderEv + 0x92): неопределенная ссылка на _67_jpeg_read_header 'grfmt_jpeg.cpp :(. text._ZN2 cv11JpegDecoder10readHeaderEv + 0x13c): неопределенная ссылка на _68_ - person user1193538; 24.03.2013