Monday, 15 February 2010

c++ - Opencv Static libraries linker error for ARM -



c++ - Opencv Static libraries linker error for ARM -

hi guys have problem static libraires linking. doing c++ aplication in ubuntu 12.0.4 , have create execute of .cpp file arm. file contain opencv libraries.

so first did download opencv source git repository:

git clone https://github.com/itseez/opencv.git

once finish without problem, create new directory , executed cmake:

cmake -dsoftfp=on -dbuild_shared_libs=0 -dcmake_toolchain_file=../opencv/platforms/linux/arm-gnueabi.toolchain.cmake ../opencv

then execute make, , start build static opencv libraries arm. finish ok , can see static libraries created.

so seek compile this:

arm-linux-g++ -static -o photographic camera ipcampthread.cpp -i/usr/local/include -l/home/jesus/opencv/build/lib -lopencv_core -lopencv_imgproc -lopencv_highgui

and appear error:

/home/jesus/opencv/build/lib/libopencv_core.a(rand.cpp.o): in function `cv::therng()': rand.cpp:(.text._zn2cv6therngev+0xe): undefined reference `pthread_once' rand.cpp:(.text._zn2cv6therngev+0x18): undefined reference `pthread_getspecific' rand.cpp:(.text._zn2cv6therngev+0x3e): undefined reference `pthread_setspecific' /home/jesus/opencv/build/lib/libopencv_core.a(rand.cpp.o): in function `cv::makerngkey()': rand.cpp:(.text._zn2cvl10makerngkeyev+0x14): undefined reference `pthread_key_create' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::mutex::trylock()': system.cpp:(.text._zn2cv5mutex7trylockev+0x4): undefined reference `pthread_spin_trylock' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::mutex::unlock()': system.cpp:(.text._zn2cv5mutex6unlockev+0x4): undefined reference `pthread_spin_unlock' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::mutex::lock()': system.cpp:(.text._zn2cv5mutex4lockev+0x4): undefined reference `pthread_spin_lock' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::mutex::operator=(cv::mutex const&)': system.cpp:(.text._zn2cv5mutexaserks0_+0x34): undefined reference `pthread_spin_destroy' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::mutex::~mutex()': system.cpp:(.text._zn2cv5mutexd1ev+0x28): undefined reference `pthread_spin_destroy' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::mutex::~mutex()': system.cpp:(.text._zn2cv5mutexd2ev+0x28): undefined reference `pthread_spin_destroy' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::mutex::mutex()': system.cpp:(.text._zn2cv5mutexc1ev+0xe): undefined reference `pthread_spin_init' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::mutex::mutex()': system.cpp:(.text._zn2cv5mutexc2ev+0xe): undefined reference `pthread_spin_init' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::gettickcount()': system.cpp:(.text._zn2cv12gettickcountev+0x8): undefined reference `clock_gettime' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::makekey()': system.cpp:(.text._zn2cvl7makekeyev+0x14): undefined reference `pthread_key_create' /home/jesus/opencv/build/lib/libopencv_core.a(system.cpp.o): in function `cv::tlsdatacontainer::getdata() const': system.cpp:(.text._znk2cv16tlsdatacontainer7getdataev+0x20): undefined reference `pthread_once' system.cpp:(.text._znk2cv16tlsdatacontainer7getdataev+0x26): undefined reference `pthread_getspecific' system.cpp:(.text._znk2cv16tlsdatacontainer7getdataev+0x156): undefined reference `pthread_setspecific' /home/jesus/opencv/build/lib/libopencv_core.a(persistence.cpp.o): in function `icvgets(cvfilestorage*, char*, int)': persistence.cpp:(.text._zl7icvgetsp13cvfilestoragepci+0x94): undefined reference `gzgets' /home/jesus/opencv/build/lib/libopencv_core.a(persistence.cpp.o): in function `icvxmlskipspaces(cvfilestorage*, char*, int)': persistence.cpp:(.text._zl16icvxmlskipspacesp13cvfilestoragepci+0x1b4): undefined reference `gzeof' /home/jesus/opencv/build/lib/libopencv_core.a(persistence.cpp.o): in function `t.3388': persistence.cpp:(.text.t.3388+0x11c): undefined reference `gzeof' /home/jesus/opencv/build/lib/libopencv_core.a(persistence.cpp.o): in function `icvputs(cvfilestorage*, char const*)': persistence.cpp:(.text._zl7icvputsp13cvfilestoragepkc+0x150): undefined reference `gzputs' /home/jesus/opencv/build/lib/libopencv_core.a(persistence.cpp.o): in function `icvclose(cvfilestorage*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)': persistence.cpp:(.text._zl8icvclosep13cvfilestoragepss+0x136): undefined reference `gzclose' /home/jesus/opencv/build/lib/libopencv_core.a(persistence.cpp.o): in function `cvopenfilestorage': persistence.cpp:(.text.cvopenfilestorage+0x7d0): undefined reference `gzrewind' persistence.cpp:(.text.cvopenfilestorage+0x80c): undefined reference `gzclose' persistence.cpp:(.text.cvopenfilestorage+0x88e): undefined reference `gzopen' persistence.cpp:(.text.cvopenfilestorage+0xe3e): undefined reference `gzclose' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_png.cpp.o): in function `cv::pngencoder::writedatatobuf(void*, unsigned char*, unsigned int)': grfmt_png.cpp:(.text._zn2cv10pngencoder14writedatatobufepvphj+0x28): undefined reference `png_get_io_ptr' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_png.cpp.o): in function `cv::pngdecoder::readdatafrombuf(void*, unsigned char*, unsigned int)': grfmt_png.cpp:(.text._zn2cv10pngdecoder15readdatafrombufepvphj+0x14): undefined reference `png_get_io_ptr' grfmt_png.cpp:(.text._zn2cv10pngdecoder15readdatafrombufepvphj+0xec): undefined reference `png_error' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_png.cpp.o): in function `cv::pngdecoder::close()': grfmt_png.cpp:(.text._zn2cv10pngdecoder5closeev+0x2a): undefined reference `png_destroy_read_struct' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_png.cpp.o): in function `cv::pngdecoder::readheader()': grfmt_png.cpp:(.text._zn2cv10pngdecoder10readheaderev+0x1c): undefined reference `png_create_read_struct' grfmt_png.cpp:(.text._zn2cv10pngdecoder10readheaderev+0x26): undefined reference `png_create_info_struct' grfmt_png.cpp:(.text._zn2cv10pngdecoder10readheaderev+0x2e): undefined reference `png_create_info_struct' grfmt_png.cpp:(.text._zn2cv10pngdecoder10readheaderev+0x66): undefined reference `png_set_longjmp_fn' grfmt_png.cpp:(.text._zn2cv10pngdecoder10readheaderev+0xb2): undefined reference `png_init_io' grfmt_png.cpp:(.text._zn2cv10pngdecoder10readheaderev+0xe0): undefined reference `png_read_info' grfmt_png.cpp:(.text._zn2cv10pngdecoder10readheaderev+0xfa): undefined reference `png_get_ihdr' grfmt_png.cpp:(.text._zn2cv10pngdecoder10readheaderev+0x166): undefined reference `png_set_read_fn' grfmt_png.cpp:(.text._zn2cv10pngdecoder10readheaderev+0x180): undefined reference `png_get_trns' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_png.cpp.o): in function `cv::pngencoder::write(cv::mat const&, std::vector<int, std::allocator<int> > const&)': grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x26): undefined reference `png_create_write_struct' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x68): undefined reference `png_create_info_struct' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x88): undefined reference `png_set_longjmp_fn' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0xb2): undefined reference `png_set_write_fn' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x13c): undefined reference `png_set_compression_level' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x148): undefined reference `png_set_compression_strategy' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x18a): undefined reference `png_set_ihdr' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x19a): undefined reference `png_write_info' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x1aa): undefined reference `png_set_packing' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x1b4): undefined reference `png_set_bgr' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x1c8): undefined reference `png_set_swap' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x22e): undefined reference `png_write_image' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x23e): undefined reference `png_write_end' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x252): undefined reference `png_destroy_write_struct' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x2e0): undefined reference `png_init_io' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x2f8): undefined reference `png_set_filter' grfmt_png.cpp:(.text._zn2cv10pngencoder5writeerkns_3materkst6vectoriisaiiee+0x304): undefined reference `png_set_compression_level' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_png.cpp.o): in function `cv::pngdecoder::readdata(cv::mat&)': grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x9e): undefined reference `png_set_longjmp_fn' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0xf8): undefined reference `png_set_gray_to_rgb' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0xfe): undefined reference `png_set_interlace_handling' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x106): undefined reference `png_read_update_info' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x128): undefined reference `png_read_image' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x130): undefined reference `png_read_end' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x14c): undefined reference `png_set_rgb_to_gray' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x160): undefined reference `png_set_bgr' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x168): undefined reference `png_set_strip_alpha' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x174): undefined reference `png_set_swap' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x180): undefined reference `png_set_expand_gray_1_2_4_to_8' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x188): undefined reference `png_set_strip_16' grfmt_png.cpp:(.text._zn2cv10pngdecoder8readdataerns_3mate+0x194): undefined reference `png_set_palette_to_rgb' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_jpeg2000.cpp.o): in function `global constructors keyed grfmt_jpeg2000.cpp': grfmt_jpeg2000.cpp:(.text._global__i_grfmt_jpeg2000.cpp+0x4): undefined reference `jas_init' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_jpeg2000.cpp.o): in function `cv::jasperinitializer::~jasperinitializer()': grfmt_jpeg2000.cpp:(.text._zn2cv17jasperinitializerd1ev[cv::jasperinitializer::~jasperinitializer()]+0x4): undefined reference `jas_cleanup' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_jpeg2000.cpp.o): in function `cv::jpeg2kencoder::writecomponent16u(void*, cv::mat const&)': grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder17writecomponent16uepvrkns_3mate+0x1e): undefined reference `jas_matrix_create' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder17writecomponent16uepvrkns_3mate+0xa4): undefined reference `jas_image_writecmpt' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder17writecomponent16uepvrkns_3mate+0xbe): undefined reference `jas_matrix_destroy' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_jpeg2000.cpp.o): in function `cv::jpeg2kencoder::writecomponent8u(void*, cv::mat const&)': grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder16writecomponent8uepvrkns_3mate+0x1e): undefined reference `jas_matrix_create' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder16writecomponent8uepvrkns_3mate+0xa4): undefined reference `jas_image_writecmpt' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder16writecomponent8uepvrkns_3mate+0xbe): undefined reference `jas_matrix_destroy' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_jpeg2000.cpp.o): in function `cv::jpeg2kencoder::write(cv::mat const&, std::vector<int, std::allocator<int> > const&)': grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder5writeerkns_3materkst6vectoriisaiiee+0x64): undefined reference `jas_image_create' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder5writeerkns_3materkst6vectoriisaiiee+0x9e): undefined reference `jas_image_destroy' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder5writeerkns_3materkst6vectoriisaiiee+0xd0): undefined reference `jas_stream_fopen' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder5writeerkns_3materkst6vectoriisaiiee+0xde): undefined reference `jas_image_strtofmt' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder5writeerkns_3materkst6vectoriisaiiee+0xec): undefined reference `jas_image_encode' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kencoder5writeerkns_3materkst6vectoriisaiiee+0xf6): undefined reference `jas_stream_close' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_jpeg2000.cpp.o): in function `cv::jpeg2kdecoder::close()': grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder5closeev+0xa): undefined reference `jas_stream_close' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder5closeev+0x18): undefined reference grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder8readdataerns_3mate+0x94): undefined reference `jas_image_getcmptbytype' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder8readdataerns_3mate+0x118): undefined reference `jas_matrix_destroy' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder8readdataerns_3mate+0x172): undefined reference `jas_matrix_create' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder8readdataerns_3mate+0x18c): undefined reference `jas_image_readcmpt' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder8readdataerns_3mate+0x1ae): undefined reference `jas_cmprof_createfromclrspc' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder8readdataerns_3mate+0x1be): undefined reference `jas_image_chclrspc' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder8readdataerns_3mate+0x1ca): undefined reference `jas_image_destroy' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder8readdataerns_3mate+0x1d4): undefined reference `jas_cmprof_destroy' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder8readdataerns_3mate+0x246): undefined reference `jas_cmprof_destroy' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_jpeg2000.cpp.o): in function `cv::jpeg2kdecoder::readheader()': grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder10readheaderev+0x12): undefined reference `jas_stream_fopen' grfmt_jpeg2000.cpp:(.text._zn2cv13jpeg2kdecoder10readheaderev+0x22): undefined reference `jas_image_decode' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_jpeg.cpp.o): in function `cv::jpegencoder::write(cv::mat const&, std::vector<int, std::allocator<int> > const&)': grfmt_jpeg.cpp:(.text._zn2cv11jpegencoder5writeerkns_3materkst6vectoriisaiiee+0x7c): undefined reference `jpeg_createcompress' grfmt_jpeg.cpp:(.text._zn2cv11jpegencoder5writeerkns_3materkst6vectoriisaiiee+0x84): undefined reference `jpeg_std_error' grfmt_jpeg.cpp:(.text._zn2cv11jpegencoder5writeerkns_3materkst6vectoriisaiiee+0x158): undefined reference `jpeg_set_defaults' grfmt_jpeg.cpp:(.text._zn2cv11jpegencoder5writeerkns_3materkst6vectoriisaiiee+0x164): /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_jpeg.cpp.o): in function `t.441': grfmt_jpeg.cpp:(.text.t.441+0x162): undefined reference `jpeg_alloc_huff_table' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_jpeg.cpp.o): in function `cv::jpegdecoder::readdata(cv::mat&)': grfmt_jpeg.cpp:(.text._zn2cv11jpegdecoder8readdataerns_3mate+0x9a): undefined reference `jpeg_start_decompress' grfmt_jpeg.cpp:(.text._zn2cv11jpegdecoder8readdataerns_3mate+0x108): undefined reference `jpeg_read_scanlines' grfmt_jpeg.cpp:(.text._zn2cv11jpegdecoder8readdataerns_3mate+0x132): undefined reference `jpeg_finish_decompress' grfmt_jpeg.cpp:(.text._zn2cv11jpegdecoder8readdataerns_3mate+0x17c): undefined reference `jpeg_read_scanlines' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_exr.cpp.o): in function `cv::exrdecoder::readheader()': grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0xa): undefined reference `imf::globalthreadcount()' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x20): undefined reference `imf::inputfile::inputfile(char const*, int)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x2e): undefined reference `imf::inputfile::header() const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x32): undefined reference `imf::header::datawindow() const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x5a): undefined reference `imf::inputfile::header() const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x5e): undefined reference `imf::haschromaticities(imf::header const&)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x68): undefined reference `imf::inputfile::header() const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x6c): undefined reference `imf::header::channels() const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x76): undefined reference `imf::channellist::findchannel(char const*) const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x82): undefined reference `imf::channellist::findchannel(char const*) const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x8e): undefined reference `imf::channellist::findchannel(char const*) const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0xf2): undefined reference `imf::inputfile::header() const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0xf6): undefined reference `imf::chromaticities(imf::header const&)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x144): undefined reference `imf::channellist::findchannel(char const*) const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x15a): undefined reference `imf::channellist::findchannel(char const*) const' grfmt_exr.cpp:(.text._zn2cv10exrdecoder10readheaderev+0x166): undefined reference `imf::channellist::findchannel(char const*) const' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_exr.cpp.o): in function `cv::exrencoder::write(cv::mat const&, std::vector<int, std::allocator<int> > const&)': grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x70): undefined reference `imf::header::header(int, int, float, imath::vec2<float> const&, float, imf::lineorder, imf::compression)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x96): undefined reference `imf::header::channels()' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0xaa): undefined reference `imf::channel::channel(imf::pixeltype, int, int, bool)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0xb6): undefined reference `imf::channellist::insert(char const*, imf::channel const&)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0xbc): undefined reference `imf::globalthreadcount()' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0xd0): undefined reference `imf::outputfile::outputfile(char const*, imf::header const&, int)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x12e): undefined reference `imf::slice::slice(imf::pixeltype, char*, unsigned int, unsigned int, int, int, double, bool, bool)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x13a): undefined reference `imf::framebuffer::insert(char const*, imf::slice const&)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x142): undefined reference `imf::outputfile::setframebuffer(imf::framebuffer const&)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x19c): undefined reference `imf::outputfile::writepixels(int)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x21c): undefined reference `half::convert(int)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x282): undefined reference `half::convert(int)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x2e6): undefined reference `imf::outputfile::~outputfile()' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x2ec): undefined reference `imf::header::~header()' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x324): undefined reference `half::_elut' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x378): undefined reference `imf::slice::slice(imf::pixeltype, char*, unsigned int, unsigned int, int, int, double, bool, bool)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x384): undefined reference `imf::framebuffer::insert(char const*, imf::slice const&)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x3ae): undefined reference `imf::slice::slice(imf::pixeltype, char*, unsigned int, unsigned int, int, int, double, bool, bool)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x3ba): undefined reference `imf::framebuffer::insert(char const*, imf::slice const&)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x3e4): undefined reference `imf::slice::slice(imf::pixeltype, char*, unsigned int, unsigned int, int, int, double, bool, bool)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x3f0): undefined reference `imf::framebuffer::insert(char const*, imf::slice const&)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x40c): undefined reference `imf::outputfile::writepixels(int)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x436): undefined reference `imf::header::channels()' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x44a): undefined reference `imf::channel::channel(imf::pixeltype, int, int, bool)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x456): undefined reference `imf::channellist::insert(char const*, imf::channel const&)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x45c): undefined reference `imf::header::channels()' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x470): undefined reference `imf::channel::channel(imf::pixeltype, int, int, bool)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x47c): undefined reference `imf::channellist::insert(char const*, imf::channel const&)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x482): undefined reference `imf::header::channels()' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x496): undefined reference `imf::channel::channel(imf::pixeltype, int, int, bool)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x4a2): undefined reference `imf::channellist::insert(char const*, imf::channel const&)' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x4d2): undefined reference `imf::outputfile::~outputfile()' grfmt_exr.cpp:(.text._zn2cv10exrencoder5writeerkns_3materkst6vectoriisaiiee+0x4d8): undefined reference `imf::header::~header()' /home/jesus/opencv/build/lib/libopencv_highgui.a(grfmt_exr.cpp.o): in function `cv::exrdecoder::readdata(cv::mat&)': grfmt_exr.cpp:(.text._zn2cv10exrdecoder8readdataerns_3mate+0xec): undefined reference `imf::slice::slice(imf::pixeltype, char*, unsigned int, unsigned int, int, int, double, bool, bool)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder8readdataerns_3mate+0xf8): undefined reference `imf::framebuffer::insert(char const*, imf::slice const&)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder8readdataerns_3mate+0x14c): undefined reference `imf::slice::slice(imf::pixeltype, char*, unsigned int, unsigned int, int, int, double, bool, bool)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder8readdataerns_3mate+0x158): undefined reference `imf::framebuffer::insert(char const*, imf::slice const&)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder8readdataerns_3mate+0x1ae): undefined reference `imf::slice::slice(imf::pixeltype, char*, unsigned int, unsigned int, int, int, double, bool, bool)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder8readdataerns_3mate+0x1ba): undefined reference `imf::framebuffer::insert(char const*, imf::slice const&)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder8readdataerns_3mate+0x244): undefined reference `imf::slice::slice(imf::pixeltype, char*, unsigned int, unsigned int, int, int, double, bool, bool)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder8readdataerns_3mate+0x250): undefined reference `imf::framebuffer::insert(char const*, imf::slice const&)' grfmt_exr.cpp:(.text._zn2cv10exrdecoder8readdataerns_3mate+0x2a0): undefined reference `imf::slice::slice(imf::pixeltype, char*, unsigned int, unsigned int, int, int, double, bool, bool)' collect2: ld returned 1 exit status

i looking bu t cannot anything. help?? give thanks much investigate , find sure of dependencies included should compile pkgconfig this:

arm-linux-g++ -o illustration ipcampthread.cpp `pkg-config --static --cflags --libs opencv`

and creates executable, when create "file" on executable result: example: elf 32-bit lsb executable, arm, version 1 (sysv), dynamically linked (uses shared libs), gnu/linux 2.6.26, not stripped arm file dynamically linked not work in arm, not undestand why create dynamically linked when in "opencv.pc" file there this:

# bundle info pkg-config prefix=/home/jesus/opencv/build/install exec_prefix=${prefix} libdir= includedir_old=${prefix}/include/opencv includedir_new=${prefix}/include

name: opencv description: open source computer vision library version: 2.4.9 libs: ${exec_prefix}/lib/libopencv_contrib.a ${exec_prefix}/lib/libopencv_stitching.a ${exec_prefix}/lib/libopencv_nonfree.a ${exec_prefix}/lib/libopencv_superres.a ${exec_prefix}/lib/libopencv_ocl.a ${exec_prefix}/lib/libopencv_ts.a ${exec_prefix}/lib/libopencv_videostab.a ${exec_prefix}/lib/libopencv_gpu.a ${exec_prefix}/lib/libopencv_photo.a ${exec_prefix}/lib/libopencv_objdetect.a ${exec_prefix}/lib/libopencv_legacy.a ${exec_prefix}/lib/libopencv_video.a ${exec_prefix}/lib/libopencv_ml.a ${exec_prefix}/lib/libopencv_calib3d.a ${exec_prefix}/lib/libopencv_features2d.a ${exec_prefix}/lib/libopencv_highgui.a ${exec_prefix}/share/opencv/3rdparty/lib/libilmimf.a ${exec_prefix}/share/opencv/3rdparty/lib/liblibjasper.a ${exec_prefix}/share/opencv/3rdparty/lib/liblibtiff.a ${exec_prefix}/share/opencv/3rdparty/lib/liblibpng.a ${exec_prefix}/share/opencv/3rdparty/lib/liblibjpeg.a ${exec_prefix}/lib/libopencv_imgproc.a ${exec_prefix}/lib/libopencv_flann.a ${exec_prefix}/lib/libopencv_core.a ${exec_prefix}/share/opencv/3rdparty/lib/libzlib.a -lrt -lpthread -lm -ldl -lstdc++ cflags: -i${includedir_old} -i${includedir_new}

all libraries utilize open.pc static, not know why compile , build dinamic executable.

someone??

a classic case of missing few -lsomelib statements linker. pthread , gzip seem missing, among others. manually find libs need, grep "lib" folder symbol-name.

c++ opencv arm static-libraries

No comments:

Post a Comment