xmake-repo
xmake-repo copied to clipboard
opencv package cannot link 3rdparty libs
描述讨论详情
编译带opencv的项目出错。已经 xmake f -c 过几次,没有帮助。 我想请教一下作者这有什么可能的原因?十分感谢! xmake.lua如下
add_rules("mode.debug", "mode.release")
add_requires("opencv")
target("my_ba")
set_kind("binary")
add_files("src/*.cpp")
add_packages("opencv")
报错如下
$ xmake -v
checking for gcc ... /usr/bin/gcc
checking for the c++ compiler (cxx) ... gcc
checking for /usr/bin/gcc ... ok
checking for flags (-fvisibility-inlines-hidden) ... ok
checking for flags (-O0) ... ok
checking for ccache ... /usr/bin/ccache
[ 25%]: ccache compiling.debug src/main.cpp
/usr/bin/ccache /usr/bin/gcc -c -m64 -g -O0 -isystem /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/include/opencv4 -o build/.objs/my_ba/linux/x86_64/debug/src/main.cpp.o src/main.cpp
checking for flags (-MMD -MF) ... ok
checking for flags (-fdiagnostics-color=always) ... ok
checking for g++ ... /usr/bin/g++
checking for the linker (ld) ... g++
[ 50%]: linking.debug my_ba
/usr/bin/g++ -o build/linux/x86_64/debug/my_ba build/.objs/my_ba/linux/x86_64/debug/src/main.cpp.o -m64 -L/home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib -lopencv_videoio -lopencv_stereo -lopencv_optflow -lopencv_aruco -lopencv_ml -lopencv_objdetect -lopencv_ccalib -lopencv_xphoto -lopencv_stitching -lopencv_reg -lopencv_imgcodecs -lopencv_phase_unwrapping -lopencv_features2d -lopencv_ximgproc -lopencv_text -lopencv_dnn_objdetect -lopencv_video -lopencv_hfs -lopencv_alphamat -lopencv_dpm -lopencv_rapid -lopencv_imgproc -lopencv_bioinspired -lopencv_saliency -lopencv_shape -lopencv_datasets -lopencv_img_hash -lopencv_freetype -lopencv_sfm -lopencv_rgbd -lopencv_fuzzy -lopencv_highgui -lopencv_calib3d -lopencv_flann -lopencv_core -lopencv_superres -lopencv_intensity_transform -lopencv_gapi -lopencv_barcode -lopencv_surface_matching -lopencv_dnn -lopencv_mcc -lopencv_dnn_superres -lopencv_xobjdetect -lopencv_bgsegm -lopencv_tracking -lopencv_line_descriptor -lopencv_plot -lopencv_quality -lopencv_face -lopencv_videostab -lopencv_photo -lopencv_structured_light -lopencv_xfeatures2d -lopencv_wechat_qrcode -lpthread -ldl
error: /usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.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+0xfa): undefined reference to `jpeg_CreateCompress'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x107): undefined reference to `jpeg_std_error'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x2c5): undefined reference to `jpeg_set_defaults'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x2e0): undefined reference to `jpeg_set_quality'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x304): undefined reference to `jpeg_start_compress'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x3c7): undefined reference to `jpeg_write_scanlines'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x3de): undefined reference to `jpeg_finish_compress'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x474): undefined reference to `jpeg_destroy_compress'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x559): undefined reference to `jpeg_simple_progression'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x5d5): undefined reference to `jpeg_write_scanlines'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x61f): undefined reference to `jpeg_stdio_dest'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x683): undefined reference to `jpeg_write_scanlines'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_jpeg.cpp.o): in function `cv::JpegDecoder::~JpegDecoder()':
grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoderD2Ev+0x27): undefined reference to `jpeg_destroy_decompress'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_jpeg.cpp.o): in function `cv::JpegDecoder::~JpegDecoder()':
grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoderD0Ev+0x28): undefined reference to `jpeg_destroy_decompress'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_jpeg.cpp.o): in function `cv::JpegDecoder::readData(cv::Mat&)':
grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder8readDataERNS_3MatE+0x5e): undefined reference to `jpeg_destroy_decompress'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder8readDataERNS_3MatE+0x163): undefined reference to `jpeg_start_decompress'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder8readDataERNS_3MatE+0x20a): undefined reference to `jpeg_read_scanlines'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder8readDataERNS_3MatE+0x243): undefined reference to `jpeg_finish_decompress'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder8readDataERNS_3MatE+0x2b2): undefined reference to `jpeg_read_scanlines'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_jpeg.cpp.o): in function `cv::JpegDecoder::readHeader()':
grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder10readHeaderEv+0x28): undefined reference to `jpeg_destroy_decompress'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder10readHeaderEv+0x93): undefined reference to `jpeg_std_error'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder10readHeaderEv+0xf3): undefined reference to `jpeg_CreateDecompress'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder10readHeaderEv+0x17c): undefined reference to `jpeg_resync_to_restart'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder10readHeaderEv+0x1cb): undefined reference to `jpeg_save_markers'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder10readHeaderEv+0x1d8): undefined reference to `jpeg_read_header'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder10readHeaderEv+0x1fa): undefined reference to `jpeg_calc_output_dimensions'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder10readHeaderEv+0x244): undefined reference to `jpeg_destroy_decompress'
/usr/bin/ld: grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder10readHeaderEv+0x2cd): undefined reference to `jpeg_stdio_src'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_jpeg.cpp.o): in function `cv::JpegDecoder::close()':
grfmt_jpeg.cpp:(.text._ZN2cv11JpegDecoder5closeEv+0x1d): undefined reference to `jpeg_destroy_decompress'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.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+0x49): undefined reference to `png_create_write_struct'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0xd2): undefined reference to `png_create_info_struct'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0xfa): undefined reference to `png_set_longjmp_fn'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x13f): undefined reference to `png_set_write_fn'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x20c): undefined reference to `png_set_compression_level'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x21b): undefined reference to `png_set_compression_strategy'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x275): undefined reference to `png_set_IHDR'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x28c): undefined reference to `png_write_info'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x2a1): undefined reference to `png_set_bgr'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x2ad): undefined reference to `png_set_swap'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x371): undefined reference to `png_write_image'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x384): undefined reference to `png_write_end'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x39e): undefined reference to `png_destroy_write_struct'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x429): undefined reference to `png_set_packing'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x489): undefined reference to `png_set_filter'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x4d6): undefined reference to `png_init_io'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_png.cpp.o): in function `cv::PngDecoder::readDataFromBuf(void*, unsigned char*, unsigned long)':
grfmt_png.cpp:(.text._ZN2cv10PngDecoder15readDataFromBufEPvPhm+0x28): undefined reference to `png_get_io_ptr'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder15readDataFromBufEPvPhm+0xd8): undefined reference to `png_error'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_png.cpp.o): in function `cv::PngDecoder::~PngDecoder()':
grfmt_png.cpp:(.text._ZN2cv10PngDecoderD2Ev+0x78): undefined reference to `png_destroy_read_struct'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_png.cpp.o): in function `cv::PngDecoder::~PngDecoder()':
grfmt_png.cpp:(.text._ZN2cv10PngDecoderD0Ev+0x78): undefined reference to `png_destroy_read_struct'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_png.cpp.o): in function `cv::PngDecoder::readData(cv::Mat&)':
grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0xfd): undefined reference to `png_set_longjmp_fn'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x136): undefined reference to `png_set_swap'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x15c): undefined reference to `png_set_strip_alpha'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x1a2): undefined reference to `png_set_rgb_to_gray'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x1af): undefined reference to `png_set_interlace_handling'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x1bc): undefined reference to `png_read_update_info'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x214): undefined reference to `png_read_image'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x226): undefined reference to `png_read_end'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x24c): undefined reference to `png_get_valid'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x269): undefined reference to `png_get_eXIf_1'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x2f2): undefined reference to `png_destroy_read_struct'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x3b1): undefined reference to `png_set_tRNS_to_alpha'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x3e2): undefined reference to `png_set_gray_to_rgb'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x400): undefined reference to `png_get_valid'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x421): undefined reference to `png_get_eXIf_1'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x456): undefined reference to `png_set_palette_to_rgb'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x476): undefined reference to `png_set_bgr'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x486): undefined reference to `png_set_expand_gray_1_2_4_to_8'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder8readDataERNS_3MatE+0x4a7): undefined reference to `png_set_strip_16'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_png.cpp.o): in function `cv::PngDecoder::readHeader()':
grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0x84): undefined reference to `png_destroy_read_struct'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0xac): undefined reference to `png_create_read_struct'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0xc1): undefined reference to `png_create_info_struct'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0xd1): undefined reference to `png_create_info_struct'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0x11b): undefined reference to `png_set_longjmp_fn'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0x1a3): undefined reference to `png_init_io'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0x1df): undefined reference to `png_read_info'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0x208): undefined reference to `png_get_IHDR'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0x27a): undefined reference to `png_get_tRNS'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0x323): undefined reference to `png_destroy_read_struct'
/usr/bin/ld: grfmt_png.cpp:(.text._ZN2cv10PngDecoder10readHeaderEv+0x358): undefined reference to `png_set_read_fn'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_png.cpp.o): in function `cv::PngDecoder::close()':
grfmt_png.cpp:(.text._ZN2cv10PngDecoder5closeEv+0x6e): undefined reference to `png_destroy_read_struct'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_png.cpp.o): in function `cv::PngEncoder::writeDataToBuf(void*, unsigned char*, unsigned long)':
grfmt_png.cpp:(.text._ZN2cv10PngEncoder14writeDataToBufEPvPhm+0x4f): undefined reference to `png_get_io_ptr'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::TiffDecoder::newDecoder() const':
grfmt_tiff.cpp:(.text._ZNK2cv11TiffDecoder10newDecoderEv+0xbc): undefined reference to `TIFFSetErrorHandler'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZNK2cv11TiffDecoder10newDecoderEv+0xc8): undefined reference to `TIFFSetWarningHandler'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::cv_tiffCloseHandle(void*)':
grfmt_tiff.cpp:(.text._ZN2cvL18cv_tiffCloseHandleEPv+0x5): undefined reference to `TIFFClose'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::TiffDecoder::readData(cv::Mat&)':
grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x6b): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x108): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x1f5): undefined reference to `TIFFIsTiled'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x234): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x261): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x283): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x30f): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x40a): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x58f): undefined reference to `TIFFReadRGBAStrip'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0xb8b): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0xd5c): undefined reference to `TIFFReadEncodedStrip'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x138c): undefined reference to `TIFFReadEncodedStrip'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x1699): undefined reference to `TIFFReadEncodedTile'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x17a9): undefined reference to `TIFFReadEncodedTile'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x18c3): undefined reference to `TIFFReadRGBATile'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x1b6d): undefined reference to `TIFFRGBAImageOK'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8readDataERNS_3MatE+0x1fe4): undefined reference to `TIFFGetField'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::TiffEncoder::write_32FC3_SGILOG(cv::Mat const&, void*)':
grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder18write_32FC3_SGILOGERKNS_3MatEPv+0xab): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder18write_32FC3_SGILOGERKNS_3MatEPv+0x530): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder18write_32FC3_SGILOGERKNS_3MatEPv+0x9b8): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder18write_32FC3_SGILOGERKNS_3MatEPv+0xe58): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder18write_32FC3_SGILOGERKNS_3MatEPv+0x1318): undefined reference to `TIFFSetField'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o):grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder18write_32FC3_SGILOGERKNS_3MatEPv+0x1331): more undefined references to `TIFFSetField' follow
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::TiffEncoder::write_32FC3_SGILOG(cv::Mat const&, void*)':
grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder18write_32FC3_SGILOGERKNS_3MatEPv+0x1d09): undefined reference to `TIFFWriteEncodedStrip'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder18write_32FC3_SGILOGERKNS_3MatEPv+0x21ef): undefined reference to `TIFFWriteDirectory'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::TiffDecoder::readHeader() [clone .cold]':
grfmt_tiff.cpp:(.text.unlikely._ZN2cv11TiffDecoder10readHeaderEv+0x1da): undefined reference to `TIFFClose'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::TiffDecoder::readHeader()':
grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder10readHeaderEv+0x62): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder10readHeaderEv+0x4d0): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder10readHeaderEv+0x938): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder10readHeaderEv+0x976): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder10readHeaderEv+0x992): undefined reference to `TIFFGetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder10readHeaderEv+0xa94): undefined reference to `TIFFClientOpen'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder10readHeaderEv+0xb6c): undefined reference to `TIFFOpen'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::TiffDecoder::nextPage()':
grfmt_tiff.cpp:(.text._ZN2cv11TiffDecoder8nextPageEv+0x15): undefined reference to `TIFFReadDirectory'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::TiffEncoder::writeLibTiff(std::vector<cv::Mat, std::allocator<cv::Mat> > const&, std::vector<int, std::allocator<int> > const&) [clone .cold]':
grfmt_tiff.cpp:(.text.unlikely._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x391): undefined reference to `TIFFClose'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::TiffEncoder::writeLibTiff(std::vector<cv::Mat, std::allocator<cv::Mat> > const&, std::vector<int, std::allocator<int> > const&)':
grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x98): undefined reference to `TIFFClientOpen'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x28c): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x2a6): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x3d0): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x3ea): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x405): undefined reference to `TIFFSetField'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o):grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x41e): more undefined references to `TIFFSetField' follow
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_tiff.cpp.o): in function `cv::TiffEncoder::writeLibTiff(std::vector<cv::Mat, std::allocator<cv::Mat> > const&, std::vector<int, std::allocator<int> > const&)':
grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x4f3): undefined reference to `TIFFScanlineSize'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x651): undefined reference to `TIFFWriteScanline'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x7c8): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x802): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0xa6c): undefined reference to `TIFFOpen'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0xa9c): undefined reference to `TIFFWriteDirectory'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0xf92): undefined reference to `TIFFSetField'
/usr/bin/ld: grfmt_tiff.cpp:(.text._ZN2cv11TiffEncoder12writeLibTiffERKSt6vectorINS_3MatESaIS2_EERKS1_IiSaIiEE+0x10bf): undefined reference to `TIFFSetField'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_webp.cpp.o): in function `cv::WebPDecoder::checkSignature(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
grfmt_webp.cpp:(.text._ZNK2cv11WebPDecoder14checkSignatureERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x54): undefined reference to `WebPGetFeaturesInternal'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_webp.cpp.o): in function `cv::WebPDecoder::readHeader()':
grfmt_webp.cpp:(.text._ZN2cv11WebPDecoder10readHeaderEv+0x176): undefined reference to `WebPGetFeaturesInternal'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_webp.cpp.o): in function `cv::WebPDecoder::readData(cv::Mat&)':
grfmt_webp.cpp:(.text._ZN2cv11WebPDecoder8readDataERNS_3MatE+0x205): undefined reference to `WebPDecodeBGRAInto'
/usr/bin/ld: grfmt_webp.cpp:(.text._ZN2cv11WebPDecoder8readDataERNS_3MatE+0x26d): undefined reference to `WebPDecodeBGRInto'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_webp.cpp.o): in function `cv::WebPEncoder::write(cv::Mat const&, std::vector<int, std::allocator<int> > const&) [clone .cold]':
grfmt_webp.cpp:(.text.unlikely._ZN2cv11WebPEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x38): undefined reference to `WebPFree'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/013b63885cb24f3ca181a0ddfb38adef/lib/libopencv_imgcodecs.a(grfmt_webp.cpp.o): in function `cv::WebPEncoder::write(cv::Mat const&, std::vector<int, std::allocator<int> > const&)':
grfmt_webp.cpp:(.text._ZN2cv11WebPEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0xd6): undefined reference to `WebPEncodeBGRA'
/usr/bin/ld: grfmt_webp.cpp:(.text._ZN2cv11WebPEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x113): undefined reference to `WebPFree'
/usr/bin/ld: grfmt_webp.cpp:(.text._ZN2cv11WebPEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x2a4): undefined reference to `WebPEncodeLosslessBGR'
/usr/bin/ld: grfmt_webp.cpp:(.text._ZN2cv11WebPEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x361): undefined reference to `WebPEncodeBGR'
/usr/bin/ld: grfmt_webp.cpp:(.text._ZN2cv11WebPEncoder5writeERKNS_3MatERKSt6vectorIiSaIiEE+0x3d5): undefined reference to `WebPEncodeLosslessBGRA'
collect2: error: ld returned 1 exit status
opencv 依赖的 jpeg,png,tiff 库没链接。opencv 包默认启用了这些子模块,对应的包依赖没加上,自己提 pr 改进下 opencv 包,对响应启用的 feature,添加 jpeg/png 等deps,然后重装下 opencv
https://github.com/xmake-io/xmake-repo/blob/c5c25d11cab34d3caa228924f5824be279562832/packages/o/opencv/xmake.lua#L43
或者等后两天我有时间了 再改进。
@xq114 也可以帮忙看下,似乎 default feature 都缺少了 deps,动态库不需要,静态库得要
@dicarne 也可以暂时切到 shared 编译动态库来用
add_requires("opencv", {configs = {shared = true}}) 不需要额外的 jpeg link
十分感谢!我手动链接似乎并没有什么用,先用cmake顶着
好了,预编译也更新了,repo更新后再试试
xrepo update-repo
xmake f -c
xmake
感谢!删了opencv后重新安装,可以链接了。但出现了新的问题。
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(4.5.3) /home/dicarne/.xmake/cache/packages/2108/o/opencv/4.5.3/source/opencv-4.5.3/modules/highgui/src/window.cpp:1274: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'
imshow报错。从提示上看,或许是库没装,但实际上并不是。我的电脑上有从官方下的最新源码包,利用cmake编译,是可以在我的cmake项目中正常运行显示图片的。说明我的电脑上依赖是齐全的。 对比了下opencv的变量和xmake的变量,发现是WITH_GTK开关没打开,我在xmake里打开gtk的开关重新编译,却发现了新的错误。
/usr/bin/g++ -o build/linux/x86_64/release/my_ba build/.objs/my_ba/linux/x86_64/release/src/main.cpp.o -m64 -L/usr/lib/x86_64-linux-gnu -L/home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib -L/home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/opencv4/3rdparty -s -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lfontconfig -lfreetype -lopencv_videoio -lopencv_stereo -lopencv_optflow -lopencv_aruco -lopencv_ml -lopencv_objdetect -lopencv_ccalib -lopencv_xphoto -lopencv_stitching -lopencv_reg -lopencv_imgcodecs -lopencv_phase_unwrapping -lopencv_features2d -lopencv_ximgproc -lopencv_text -lopencv_dnn_objdetect -lopencv_video -lopencv_hfs -lopencv_alphamat -lopencv_dpm -lopencv_rapid -lopencv_imgproc -lopencv_bioinspired -lopencv_saliency -lopencv_shape -lopencv_datasets -lopencv_img_hash -lopencv_freetype -lopencv_sfm -lopencv_rgbd -lopencv_fuzzy -lopencv_highgui -lopencv_calib3d -lopencv_flann -lopencv_core -lopencv_superres -lopencv_intensity_transform -lopencv_gapi -lopencv_barcode -lopencv_surface_matching -lopencv_dnn -lopencv_mcc -lopencv_dnn_superres -lopencv_xobjdetect -lopencv_bgsegm -lopencv_tracking -lopencv_line_descriptor -lopencv_plot -lopencv_quality -lopencv_face -lopencv_videostab -lopencv_photo -lopencv_structured_light -lopencv_xfeatures2d -lopencv_wechat_qrcode -lmultiview -llibjpeg-turbo -lquirc -llibpng -lcorrespondence -lnumeric -lade -llibprotobuf -llibtiff -llibwebp -lzlib -lpthread -ldl
error: /usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidget_class_init(void*, void*)':
window_gtk.cpp:(.text._ZL24cvImageWidget_class_initPvS_+0xc): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL24cvImageWidget_class_initPvS_+0x1a): undefined reference to `g_type_check_class_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL24cvImageWidget_class_initPvS_+0x25): undefined reference to `g_type_class_peek'
/usr/bin/ld: window_gtk.cpp:(.text._ZL24cvImageWidget_class_initPvS_+0x30): undefined reference to `g_type_check_class_cast'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `icvOnTrackbar(_GtkWidget*, void*)':
window_gtk.cpp:(.text._ZL13icvOnTrackbarP10_GtkWidgetPv+0x11): undefined reference to `gtk_range_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13icvOnTrackbarP10_GtkWidgetPv+0x1c): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13icvOnTrackbarP10_GtkWidgetPv+0x24): undefined reference to `gtk_range_get_value'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `icvWindowThreadLoop(void*)':
window_gtk.cpp:(.text._ZL19icvWindowThreadLoopPv+0x23): undefined reference to `gtk_main_iteration_do'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvWindowThreadLoopPv+0x35): undefined reference to `g_usleep'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvWindowThreadLoopPv+0x3a): undefined reference to `g_thread_yield'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvWindowThreadLoopPv+0x6b): undefined reference to `gtk_main_iteration_do'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvWindowThreadLoopPv+0x75): undefined reference to `g_usleep'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvWindowThreadLoopPv+0x7a): undefined reference to `g_thread_yield'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidgetSetImage(_CvImageWidget*, void const*)':
window_gtk.cpp:(.text._ZL21cvImageWidgetSetImageP14_CvImageWidgetPKv+0x135): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidgetSetImageP14_CvImageWidgetPKv+0x140): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidgetSetImageP14_CvImageWidgetPKv+0x148): undefined reference to `gtk_widget_queue_resize'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidgetSetImageP14_CvImageWidgetPKv+0x215): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidgetSetImageP14_CvImageWidgetPKv+0x220): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidgetSetImageP14_CvImageWidgetPKv+0x228): undefined reference to `gtk_widget_queue_draw'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `resizeWindow_(std::shared_ptr<CvWindow> const&, int, int)':
window_gtk.cpp:(.text._ZL13resizeWindow_RKSt10shared_ptrI8CvWindowEii+0x42): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13resizeWindow_RKSt10shared_ptrI8CvWindowEii+0x4a): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13resizeWindow_RKSt10shared_ptrI8CvWindowEii+0x5c): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13resizeWindow_RKSt10shared_ptrI8CvWindowEii+0x69): undefined reference to `gtk_window_set_resizable'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13resizeWindow_RKSt10shared_ptrI8CvWindowEii+0x78): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13resizeWindow_RKSt10shared_ptrI8CvWindowEii+0x86): undefined reference to `gtk_window_resize'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13resizeWindow_RKSt10shared_ptrI8CvWindowEii+0xb1): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13resizeWindow_RKSt10shared_ptrI8CvWindowEii+0xdf): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidget_set_size(_GtkWidget*, int, int)':
window_gtk.cpp:(.text._ZL22cvImageWidget_set_sizeP10_GtkWidgetii+0x36): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL22cvImageWidget_set_sizeP10_GtkWidgetii+0x131): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL22cvImageWidget_set_sizeP10_GtkWidgetii+0x15f): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidget_destroy(_GtkWidget*)':
window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0x3c): undefined reference to `g_type_check_instance_is_a'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0x70): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0x8a): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0x9c): undefined reference to `g_type_check_class_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0xb9): undefined reference to `g_type_check_class_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0xe9): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0x117): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0x131): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0x15f): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0x5c): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_destroyP10_GtkWidget+0xe1): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidget_get_preferred_width(_GtkWidget*, int*, int*)':
window_gtk.cpp:(.text._ZL33cvImageWidget_get_preferred_widthP10_GtkWidgetPiS1_+0x45): undefined reference to `g_type_check_instance_is_a'
/usr/bin/ld: window_gtk.cpp:(.text._ZL33cvImageWidget_get_preferred_widthP10_GtkWidgetPiS1_+0x80): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL33cvImageWidget_get_preferred_widthP10_GtkWidgetPiS1_+0xe9): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL33cvImageWidget_get_preferred_widthP10_GtkWidgetPiS1_+0x117): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL33cvImageWidget_get_preferred_widthP10_GtkWidgetPiS1_+0x131): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL33cvImageWidget_get_preferred_widthP10_GtkWidgetPiS1_+0x15f): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL33cvImageWidget_get_preferred_widthP10_GtkWidgetPiS1_+0x1a4): undefined reference to `gtk_widget_get_window'
/usr/bin/ld: window_gtk.cpp:(.text._ZL33cvImageWidget_get_preferred_widthP10_GtkWidgetPiS1_+0x1ac): undefined reference to `gdk_window_get_width'
/usr/bin/ld: window_gtk.cpp:(.text._ZL33cvImageWidget_get_preferred_widthP10_GtkWidgetPiS1_+0x68): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: window_gtk.cpp:(.text._ZL33cvImageWidget_get_preferred_widthP10_GtkWidgetPiS1_+0xe1): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidget_get_preferred_height(_GtkWidget*, int*, int*)':
window_gtk.cpp:(.text._ZL34cvImageWidget_get_preferred_heightP10_GtkWidgetPiS1_+0x45): undefined reference to `g_type_check_instance_is_a'
/usr/bin/ld: window_gtk.cpp:(.text._ZL34cvImageWidget_get_preferred_heightP10_GtkWidgetPiS1_+0x80): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL34cvImageWidget_get_preferred_heightP10_GtkWidgetPiS1_+0xe9): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL34cvImageWidget_get_preferred_heightP10_GtkWidgetPiS1_+0x117): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL34cvImageWidget_get_preferred_heightP10_GtkWidgetPiS1_+0x131): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL34cvImageWidget_get_preferred_heightP10_GtkWidgetPiS1_+0x15f): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL34cvImageWidget_get_preferred_heightP10_GtkWidgetPiS1_+0x1a4): undefined reference to `gtk_widget_get_window'
/usr/bin/ld: window_gtk.cpp:(.text._ZL34cvImageWidget_get_preferred_heightP10_GtkWidgetPiS1_+0x1ac): undefined reference to `gdk_window_get_height'
/usr/bin/ld: window_gtk.cpp:(.text._ZL34cvImageWidget_get_preferred_heightP10_GtkWidgetPiS1_+0x68): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: window_gtk.cpp:(.text._ZL34cvImageWidget_get_preferred_heightP10_GtkWidgetPiS1_+0xe1): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidget_realize(_GtkWidget*)':
window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x22): undefined reference to `gtk_widget_get_allocation'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x51): undefined reference to `g_type_check_instance_is_a'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x6a): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x99): undefined reference to `gtk_widget_set_realized'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0xbb): undefined reference to `gtk_widget_get_events'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0xcc): undefined reference to `gtk_widget_get_visual'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0xd9): undefined reference to `gtk_widget_get_parent_window'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0xeb): undefined reference to `gdk_window_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0xf6): undefined reference to `gtk_widget_set_window'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0xfe): undefined reference to `gtk_widget_get_window'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x109): undefined reference to `gtk_widget_get_style'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x114): undefined reference to `gtk_style_attach'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x11f): undefined reference to `gtk_widget_set_style'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x127): undefined reference to `gtk_widget_get_window'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x132): undefined reference to `gdk_window_set_user_data'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x13a): undefined reference to `gtk_widget_get_window'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x145): undefined reference to `gtk_widget_get_style'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x155): undefined reference to `gtk_style_set_background'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x171): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x181): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL21cvImageWidget_realizeP10_GtkWidget+0x1af): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `getImageRect_(std::shared_ptr<CvWindow> const&)':
window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x43): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x4e): undefined reference to `gtk_widget_get_toplevel'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x67): undefined reference to `gtk_widget_translate_coordinates'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x85): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0xa7): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x11a): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x13c): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x159): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x187): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x1a9): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x1d9): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13getImageRect_RKSt10shared_ptrI8CvWindowE+0x1f9): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidget_draw(_GtkWidget*, _cairo*, void*)':
window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x45): undefined reference to `g_type_check_instance_is_a'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x61): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x90): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0xa6): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0xbf): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0xe9): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x109): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x13d): undefined reference to `gdk_pixbuf_new_from_data'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x161): undefined reference to `gdk_cairo_set_source_pixbuf'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x16f): undefined reference to `cairo_paint'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x180): undefined reference to `g_object_unref'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x1a9): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x1c6): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x1f6): undefined reference to `gdk_pixbuf_new_from_data'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x210): undefined reference to `gdk_cairo_set_source_pixbuf'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x234): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x241): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x26f): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x289): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x2b7): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x2d4): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x2f2): undefined reference to `cairo_paint'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x304): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x31c): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: window_gtk.cpp:(.text._ZL18cvImageWidget_drawP10_GtkWidgetP6_cairoPv+0x334): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `icvOnMouse(_GtkWidget*, _GdkEvent*, void*)':
window_gtk.cpp:(.text._ZL10icvOnMouseP10_GtkWidgetP9_GdkEventPv+0x64): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL10icvOnMouseP10_GtkWidgetP9_GdkEventPv+0x160): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: window_gtk.cpp:(.text._ZL10icvOnMouseP10_GtkWidgetP9_GdkEventPv+0x179): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: window_gtk.cpp:(.text._ZL10icvOnMouseP10_GtkWidgetP9_GdkEventPv+0x23d): undefined reference to `gtk_accelerator_get_default_mod_mask'
/usr/bin/ld: window_gtk.cpp:(.text._ZL10icvOnMouseP10_GtkWidgetP9_GdkEventPv+0x309): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL10icvOnMouseP10_GtkWidgetP9_GdkEventPv+0x337): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidget_size_allocate(_GtkWidget*, _cairo_rectangle_int*)':
window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x43): undefined reference to `g_type_check_instance_is_a'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x66): undefined reference to `gtk_widget_set_allocation'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x7e): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0xc4): undefined reference to `gtk_widget_get_realized'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x121): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x14f): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x184): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x1b3): undefined reference to `gtk_widget_get_window'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x1e1): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x20f): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x241): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x26f): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x29b): undefined reference to `gtk_widget_set_allocation'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x2bc): undefined reference to `gtk_widget_get_window'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x2d2): undefined reference to `gdk_window_move_resize'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x2ec): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x2f7): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0xff): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x119): undefined reference to `g_return_if_fail_warning'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x1d5): undefined reference to `gdk_window_move_resize'
/usr/bin/ld: window_gtk.cpp:(.text._ZL27cvImageWidget_size_allocateP10_GtkWidgetP20_cairo_rectangle_int+0x30d): undefined reference to `gtk_widget_queue_resize'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `icvShowSaveAsDialog(_GtkWidget*, CvWindow*)':
window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x51): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x6f): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x7a): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0xa8): undefined reference to `gtk_file_chooser_dialog_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0xb2): undefined reference to `gtk_file_chooser_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0xc2): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0xcf): undefined reference to `gtk_file_chooser_set_do_overwrite_confirmation'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0xd4): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0xe0): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0xe8): undefined reference to `gtk_window_get_title'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x2f6): undefined reference to `gtk_file_chooser_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x304): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x30f): undefined reference to `gtk_file_chooser_set_current_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x314): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x32b): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x33a): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x33f): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x351): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x356): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x368): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x377): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x386): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x393): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x3a5): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x3b7): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x3c2): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x3e1): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x3f3): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x407): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x412): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x431): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x443): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x457): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x462): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x481): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x493): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x4a2): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x4b1): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x4be): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x4d0): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x4df): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x4ee): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x4fb): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x50d): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x527): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x532): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x551): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x563): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x572): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x581): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x58e): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x5a0): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x5b7): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x5c2): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x5e1): undefined reference to `gtk_file_filter_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x5f3): undefined reference to `gtk_file_filter_set_name'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x607): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x612): undefined reference to `gtk_file_filter_add_pattern'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x662): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x66d): undefined reference to `gtk_file_chooser_add_filter'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x681): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x68c): undefined reference to `gtk_file_chooser_set_filter'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x6b5): undefined reference to `gtk_dialog_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x6c0): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x6c8): undefined reference to `gtk_dialog_run'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x6d2): undefined reference to `gtk_file_chooser_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x6dd): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x6e5): undefined reference to `gtk_file_chooser_get_filename'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x715): undefined reference to `g_free'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x71d): undefined reference to `gtk_widget_destroy'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x7d9): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL19icvShowSaveAsDialogP10_GtkWidgetP8CvWindow+0x807): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `icvOnKeyPress(_GtkWidget*, _GdkEventKey*, void*)':
window_gtk.cpp:(.text._ZL13icvOnKeyPressP10_GtkWidgetP12_GdkEventKeyPv+0x98): undefined reference to `g_mutex_lock'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13icvOnKeyPressP10_GtkWidgetP12_GdkEventKeyPv+0xaa): undefined reference to `g_cond_broadcast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL13icvOnKeyPressP10_GtkWidgetP12_GdkEventKeyPv+0xb6): undefined reference to `g_mutex_unlock'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidgetNew(int)':
window_gtk.cpp:(.text._Z16cvImageWidgetNewi+0x32): undefined reference to `gtk_widget_new'
/usr/bin/ld: window_gtk.cpp:(.text._Z16cvImageWidgetNewi+0x3d): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._Z16cvImageWidgetNewi+0x5c): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._Z16cvImageWidgetNewi+0x67): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._Z16cvImageWidgetNewi+0x91): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._Z16cvImageWidgetNewi+0xc2): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: window_gtk.cpp:(.text._Z16cvImageWidgetNewi+0x101): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvImageWidget_get_type()':
window_gtk.cpp:(.text._Z22cvImageWidget_get_typev+0x1d): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._Z22cvImageWidget_get_typev+0x4b): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvInitSystem':
window_gtk.cpp:(.text.cvInitSystem+0x59): undefined reference to `gtk_init_check'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvStartWindowThread':
window_gtk.cpp:(.text.cvStartWindowThread+0x8b): undefined reference to `gtk_init_check'
/usr/bin/ld: window_gtk.cpp:(.text.cvStartWindowThread+0xbe): undefined reference to `g_mutex_new'
/usr/bin/ld: window_gtk.cpp:(.text.cvStartWindowThread+0xca): undefined reference to `g_cond_new'
/usr/bin/ld: window_gtk.cpp:(.text.cvStartWindowThread+0xe6): undefined reference to `g_thread_new'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvDestroyAllWindows':
window_gtk.cpp:(.text.cvDestroyAllWindows+0x1d1): undefined reference to `gtk_main_iteration'
/usr/bin/ld: window_gtk.cpp:(.text.cvDestroyAllWindows+0x1d6): undefined reference to `gtk_events_pending'
/usr/bin/ld: window_gtk.cpp:(.text.cvDestroyAllWindows+0x260): undefined reference to `g_cond_broadcast'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `CvWindow::destroy()':
window_gtk.cpp:(.text._ZN8CvWindow7destroyEv[_ZN8CvWindow7destroyEv]+0x3a2): undefined reference to `gtk_widget_destroy'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvWaitKey':
window_gtk.cpp:(.text.cvWaitKey+0x8a): undefined reference to `gtk_main_iteration_do'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0xe7): undefined reference to `g_timeout_add'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0xf9): undefined reference to `g_thread_self'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0x112): undefined reference to `g_mutex_lock'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0x127): undefined reference to `g_get_current_time'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0x138): undefined reference to `g_time_val_add'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0x14e): undefined reference to `g_cond_timed_wait'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0x163): undefined reference to `g_mutex_unlock'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0x1a6): undefined reference to `gtk_main_iteration_do'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0x1f3): undefined reference to `g_source_remove'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0x281): undefined reference to `g_cond_wait'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0x294): undefined reference to `g_mutex_unlock'
/usr/bin/ld: window_gtk.cpp:(.text.cvWaitKey+0x6a1): undefined reference to `g_mutex_unlock'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvDestroyWindow':
window_gtk.cpp:(.text.cvDestroyWindow+0x6b1): undefined reference to `gtk_main_iteration'
/usr/bin/ld: window_gtk.cpp:(.text.cvDestroyWindow+0x6b6): undefined reference to `gtk_events_pending'
/usr/bin/ld: window_gtk.cpp:(.text.cvDestroyWindow+0x740): undefined reference to `g_cond_broadcast'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cv::impl::GTKTrackbar::setRange(cv::Range const&)':
window_gtk.cpp:(.text._ZN2cv4impl11GTKTrackbar8setRangeERKNS_5RangeE[_ZN2cv4impl11GTKTrackbar8setRangeERKNS_5RangeE]+0x81): undefined reference to `gtk_range_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl11GTKTrackbar8setRangeERKNS_5RangeE[_ZN2cv4impl11GTKTrackbar8setRangeERKNS_5RangeE]+0x8e): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl11GTKTrackbar8setRangeERKNS_5RangeE[_ZN2cv4impl11GTKTrackbar8setRangeERKNS_5RangeE]+0xa1): undefined reference to `gtk_range_set_range'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cv::impl::GTKTrackbar::setPos(int)':
window_gtk.cpp:(.text._ZN2cv4impl11GTKTrackbar6setPosEi[_ZN2cv4impl11GTKTrackbar6setPosEi]+0x87): undefined reference to `gtk_range_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl11GTKTrackbar6setPosEi[_ZN2cv4impl11GTKTrackbar6setPosEi]+0x94): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl11GTKTrackbar6setPosEi[_ZN2cv4impl11GTKTrackbar6setPosEi]+0xa2): undefined reference to `gtk_range_set_value'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cv::impl::GTKWindow::setTitle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow8setTitleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN2cv4impl9GTKWindow8setTitleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x52): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow8setTitleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN2cv4impl9GTKWindow8setTitleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x5e): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow8setTitleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN2cv4impl9GTKWindow8setTitleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x69): undefined reference to `gtk_window_set_title'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cv::impl::GTKWindow::move(int, int)':
window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow4moveEii[_ZN2cv4impl9GTKWindow4moveEii]+0x57): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow4moveEii[_ZN2cv4impl9GTKWindow4moveEii]+0x63): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow4moveEii[_ZN2cv4impl9GTKWindow4moveEii]+0x71): undefined reference to `gtk_window_move'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cv::impl::GTKWindow::setProperty(int, double)':
window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow11setPropertyEid[_ZN2cv4impl9GTKWindow11setPropertyEid]+0x1bf): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow11setPropertyEid[_ZN2cv4impl9GTKWindow11setPropertyEid]+0x1cb): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow11setPropertyEid[_ZN2cv4impl9GTKWindow11setPropertyEid]+0x1d3): undefined reference to `gtk_window_unfullscreen'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow11setPropertyEid[_ZN2cv4impl9GTKWindow11setPropertyEid]+0x1e5): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow11setPropertyEid[_ZN2cv4impl9GTKWindow11setPropertyEid]+0x1f1): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow11setPropertyEid[_ZN2cv4impl9GTKWindow11setPropertyEid]+0x1f9): undefined reference to `gtk_window_fullscreen'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cv::impl::GTKWindow::getProperty(int) const':
window_gtk.cpp:(.text._ZNK2cv4impl9GTKWindow11getPropertyEi[_ZNK2cv4impl9GTKWindow11getPropertyEi]+0x176): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: window_gtk.cpp:(.text._ZNK2cv4impl9GTKWindow11getPropertyEi[_ZNK2cv4impl9GTKWindow11getPropertyEi]+0x18e): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cv::impl::GTKWindow::imshow(cv::_InputArray const&)':
window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow6imshowERKNS_11_InputArrayE[_ZN2cv4impl9GTKWindow6imshowERKNS_11_InputArrayE]+0x81): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow6imshowERKNS_11_InputArrayE[_ZN2cv4impl9GTKWindow6imshowERKNS_11_InputArrayE]+0x1e1): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow6imshowERKNS_11_InputArrayE[_ZN2cv4impl9GTKWindow6imshowERKNS_11_InputArrayE]+0x20f): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvSetModeWindow_GTK(char const*, double)':
window_gtk.cpp:(.text._Z19cvSetModeWindow_GTKPKcd+0x221): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._Z19cvSetModeWindow_GTKPKcd+0x22d): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._Z19cvSetModeWindow_GTKPKcd+0x235): undefined reference to `gtk_window_unfullscreen'
/usr/bin/ld: window_gtk.cpp:(.text._Z19cvSetModeWindow_GTKPKcd+0x251): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._Z19cvSetModeWindow_GTKPKcd+0x25d): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._Z19cvSetModeWindow_GTKPKcd+0x265): undefined reference to `gtk_window_fullscreen'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `setWindowTitle_GTK(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
window_gtk.cpp:(.text._Z18setWindowTitle_GTKRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_+0xd2): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._Z18setWindowTitle_GTKRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_+0xdf): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._Z18setWindowTitle_GTKRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_+0xea): undefined reference to `gtk_window_set_title'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvGetRatioWindow_GTK(char const*)':
window_gtk.cpp:(.text._Z20cvGetRatioWindow_GTKPKc+0xc9): undefined reference to `gtk_widget_get_allocated_width'
/usr/bin/ld: window_gtk.cpp:(.text._Z20cvGetRatioWindow_GTKPKc+0xe5): undefined reference to `gtk_widget_get_allocated_height'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvMoveWindow':
window_gtk.cpp:(.text.cvMoveWindow+0xc9): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text.cvMoveWindow+0xd5): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text.cvMoveWindow+0xe5): undefined reference to `gtk_window_move'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvSetTrackbarPos':
window_gtk.cpp:(.text.cvSetTrackbarPos+0x170): undefined reference to `gtk_range_get_type'
/usr/bin/ld: window_gtk.cpp:(.text.cvSetTrackbarPos+0x17c): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text.cvSetTrackbarPos+0x189): undefined reference to `gtk_range_set_value'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvSetTrackbarMax':
window_gtk.cpp:(.text.cvSetTrackbarMax+0x16b): undefined reference to `gtk_range_get_type'
/usr/bin/ld: window_gtk.cpp:(.text.cvSetTrackbarMax+0x177): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text.cvSetTrackbarMax+0x18a): undefined reference to `gtk_range_set_range'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvSetTrackbarMin':
window_gtk.cpp:(.text.cvSetTrackbarMin+0x16b): undefined reference to `gtk_range_get_type'
/usr/bin/ld: window_gtk.cpp:(.text.cvSetTrackbarMin+0x177): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text.cvSetTrackbarMin+0x18a): undefined reference to `gtk_range_set_range'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `namedWindow_(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)':
window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x4d9): undefined reference to `gtk_window_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x4e6): undefined reference to `gtk_vbox_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x501): undefined reference to `gtk_box_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x50d): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x525): undefined reference to `gtk_box_pack_end'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x52e): undefined reference to `gtk_widget_show'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x537): undefined reference to `gtk_container_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x543): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x54e): undefined reference to `gtk_container_add'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x557): undefined reference to `gtk_widget_show'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x580): undefined reference to `g_signal_connect_data'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x5a0): undefined reference to `g_signal_connect_data'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x5c0): undefined reference to `g_signal_connect_data'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x5e0): undefined reference to `g_signal_connect_data'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x600): undefined reference to `g_signal_connect_data'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o):window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x620): more undefined references to `g_signal_connect_data' follow
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `namedWindow_(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)':
window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x64e): undefined reference to `gtk_widget_add_events'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x657): undefined reference to `gtk_widget_show'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x664): undefined reference to `gtk_window_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x673): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x67e): undefined reference to `gtk_window_set_title'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x720): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x72b): undefined reference to `gtk_window_set_resizable'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x743): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x74f): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x75e): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL12namedWindow_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x773): undefined reference to `gtk_window_set_geometry_hints'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cvShowImage':
window_gtk.cpp:(.text.cvShowImage+0xe5): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text.cvShowImage+0x209): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text.cvShowImage+0x237): undefined reference to `g_type_register_static_simple'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `icvOnClose(_GtkWidget*, _GdkEvent*, void*)':
window_gtk.cpp:(.text._ZL10icvOnCloseP10_GtkWidgetP9_GdkEventPv+0x211): undefined reference to `gtk_main_iteration'
/usr/bin/ld: window_gtk.cpp:(.text._ZL10icvOnCloseP10_GtkWidgetP9_GdkEventPv+0x216): undefined reference to `gtk_events_pending'
/usr/bin/ld: window_gtk.cpp:(.text._ZL10icvOnCloseP10_GtkWidgetP9_GdkEventPv+0x577): undefined reference to `g_cond_broadcast'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `icvCreateTrackbar(char const*, char const*, int*, int, void (*)(int), void (*)(int, void*), void*)':
window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x1a1): undefined reference to `gtk_range_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x1ae): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x1be): undefined reference to `gtk_range_set_value'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x209): undefined reference to `g_signal_connect_data'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x20e): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x21f): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x227): undefined reference to `gtk_widget_queue_resize'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x5f6): undefined reference to `gtk_hbox_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x601): undefined reference to `gtk_label_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x61d): undefined reference to `gtk_hscale_new_with_range'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x625): undefined reference to `gtk_scale_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x633): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x63d): undefined reference to `gtk_scale_set_digits'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x648): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x655): undefined reference to `gtk_scale_set_draw_value'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x663): undefined reference to `gtk_box_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x671): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x686): undefined reference to `gtk_box_pack_start'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x68e): undefined reference to `gtk_widget_show'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x699): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x6b4): undefined reference to `gtk_box_pack_start'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x6bc): undefined reference to `gtk_widget_show'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x6cd): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x6e2): undefined reference to `gtk_box_pack_start'
/usr/bin/ld: window_gtk.cpp:(.text._ZL17icvCreateTrackbarPKcS0_PiiPFviEPFviPvES4_+0x6ea): undefined reference to `gtk_widget_show'
/usr/bin/ld: /home/dicarne/.xmake/packages/o/opencv/4.5.3/543cbed15a7844889ed2415f7a366ea2/lib/libopencv_highgui.a(window_gtk.cpp.o): in function `cv::impl::GTKWindow::createTrackbar(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, void (*)(int, void*), void*)':
window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x5bd): undefined reference to `gtk_hbox_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x5c8): undefined reference to `gtk_label_new'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x5e8): undefined reference to `gtk_hscale_new_with_range'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x5f0): undefined reference to `gtk_scale_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x5fe): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x608): undefined reference to `gtk_scale_set_digits'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x613): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x620): undefined reference to `gtk_scale_set_draw_value'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x629): undefined reference to `gtk_box_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x637): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x64e): undefined reference to `gtk_box_pack_start'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x658): undefined reference to `gtk_widget_show'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x663): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x67e): undefined reference to `gtk_box_pack_start'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x686): undefined reference to `gtk_widget_show'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x692): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x6a7): undefined reference to `gtk_box_pack_start'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x6af): undefined reference to `gtk_widget_show'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x6ea): undefined reference to `g_signal_connect_data'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x6ef): undefined reference to `gtk_widget_get_type'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x6fb): undefined reference to `g_type_check_instance_cast'
/usr/bin/ld: window_gtk.cpp:(.text._ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_[_ZN2cv4impl9GTKWindow14createTrackbarERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiPFviPvESA_]+0x703): undefined reference to `gtk_widget_queue_resize'
collect2: error: ld returned 1 exit status
看样子是gtk相关的库没链接,这我就不清楚怎么办了。手动加gtk+-3.0或gtk+-2.0的依赖,都没有用。
放弃静态链接了,只有这样才是正常运行
add_requires("opencv", {
config= {
shared = true,
gtk = true
}
})
感谢帮助!
这个需要额外 link gtk库了,目前还没收录 gtk 相关库,只能先暂时等等了。。
这个需要额外 link gtk库了,目前还没收录 gtk 相关库,只能先暂时等等了。。
可以先把gtk做成fetch-only的,只fetch系统安装的gtk,从源码安装以后再弄
这个需要额外 link gtk库了,目前还没收录 gtk 相关库,只能先暂时等等了。。
可以先把gtk做成fetch-only的,只fetch系统安装的gtk,从源码安装以后再弄
后面是打算先这么弄,等有时间的时候 看看。
gtk的on_fetch 包我加上了,如果系统有安装 gtk+3.0,那么 opencv with gtk 应该也可以了。。@dicarne 可以试试,但我没怎么测试
放弃静态链接了,只有这样才是正常运行
add_requires("opencv", { config= { shared = true, gtk = true } })感谢帮助!
动态链接opencv库程序是可以正常编译的,但是运行时无法找到opencv的动态库,以下是ldd的部分输出
libopencv_dnn_objdetect.so.405 => not found
libopencv_dnn_superres.so.405 => not found
libopencv_fuzzy.so.405 => not found
libopencv_hfs.so.405 => not found
libopencv_rapid.so.405 => not found
libopencv_bgsegm.so.405 => not found
libopencv_bioinspired.so.405 => not found
libopencv_rgbd.so.405 => not found
libopencv_dpm.so.405 => not found
libopencv_aruco.so.405 => not found
libopencv_reg.so.405 => not found
libopencv_tracking.so.405 => not found
libopencv_datasets.so.405 => not found
libopencv_xfeatures2d.so.405 => not found
手动添加路径到 LD_LIBRARY_PATH 是正常工作的。请问下这块正确的做法是什么样子的。如下是项目的 xmake.lua
add_requires("libraw")
add_requires("opencv", {configs = {gtk=true, shared=true}})
set_toolchains("clang")
set_license("LGPL-2.1")
target("test")
set_kind("binary")
add_files("src/*.cpp")
add_packages("libraw", "opencv")
对应的版本是 xmake v2.6.5+HEAD.d239205
放弃静态链接了,只有这样才是正常运行
add_requires("opencv", { config= { shared = true, gtk = true } })感谢帮助!
动态链接opencv库程序是可以正常编译的,但是运行时无法找到opencv的动态库,以下是ldd的部分输出
libopencv_dnn_objdetect.so.405 => not found libopencv_dnn_superres.so.405 => not found libopencv_fuzzy.so.405 => not found libopencv_hfs.so.405 => not found libopencv_rapid.so.405 => not found libopencv_bgsegm.so.405 => not found libopencv_bioinspired.so.405 => not found libopencv_rgbd.so.405 => not found libopencv_dpm.so.405 => not found libopencv_aruco.so.405 => not found libopencv_reg.so.405 => not found libopencv_tracking.so.405 => not found libopencv_datasets.so.405 => not found libopencv_xfeatures2d.so.405 => not found手动添加路径到 LD_LIBRARY_PATH 是正常工作的。请问下这块正确的做法是什么样子的。如下是项目的 xmake.lua
add_requires("libraw") add_requires("opencv", {configs = {gtk=true, shared=true}})
set_toolchains("clang") set_license("LGPL-2.1")
target("test") set_kind("binary") add_files("src/*.cpp") add_packages("libraw", "opencv")
对应的版本是 xmake v2.6.5+HEAD.d23920
xmake r -w . test可自动绑定环境变量运行
xrepo env shell可进入当前项目虚拟环境,在虚拟环境中运行test