Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SFML, Poco and OpenCV problem with static linking #2960

Open
ksvert opened this issue Feb 27, 2023 · 0 comments
Open

SFML, Poco and OpenCV problem with static linking #2960

ksvert opened this issue Feb 27, 2023 · 0 comments

Comments

@ksvert
Copy link

ksvert commented Feb 27, 2023

I'm building Qt6 project via x86_64-w64-mingw32.static-qt6-qmake. Clean qt without external libs builds perfectly but when i link to libs from title

LIBS += -lopencv_core460 -lopencv_highgui460 -lopencv_imgproc460 -lopencv_objdetect460 -lopencv_imgcodecs460 -lopencv_videoio460
LIBS += -lsfml-graphics-s -lsfml-window-s -lsfml-system-s -lsfml-network-s
LIBS += -lPocoNet -lPocoJSON -lPocoFoundation

I'm receiving following errors:

  • for SFML:
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Gamepad.o:Gamepad.cpp:(.text+0x6d): undefined reference to `__imp__ZN2sf8Joystick6updateEv'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Gamepad.o:Gamepad.cpp:(.text+0x7a): undefined reference to `__imp__ZN2sf8Joystick11isConnectedEj'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Gamepad.o:Gamepad.cpp:(.text+0xa8): undefined reference to `__imp__ZN2sf8Joystick17getIdentificationEj'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Gamepad.o:Gamepad.cpp:(.text+0xc6): undefined reference to `__imp__ZNK2sf6String12toAnsiStringB5cxx11ERKSt6locale'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Gamepad.o:Gamepad.cpp:(.text+0x41a): undefined reference to `__imp__ZN2sf8Joystick6updateEv'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Gamepad.o:Gamepad.cpp:(.text+0x429): undefined reference to `__imp__ZN2sf8Joystick11isConnectedEj'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Gamepad.o:Gamepad.cpp:(.text+0x4cd): undefined reference to `__imp__ZN2sf8Joystick15getAxisPositionEjNS0_4AxisE'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Gamepad.o:Gamepad.cpp:(.text+0x5c6): undefined reference to `__imp__ZN2sf8Joystick15isButtonPressedEjj'
  • for Poco:
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/main.o:main.cpp:(.text+0x49d8): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSessionC1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/main.o:main.cpp:(.text+0x511a): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSessionD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x3a23): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSessionC1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x4817): undefined reference to `__imp__ZNK4Poco9Exception11displayTextB5cxx11Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x53e3): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSessionC1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x63e3): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSessionC1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6976): undefined reference to `__imp__ZN4Poco3Net14DatagramSocket9sendBytesEPKvii'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x69a5): undefined reference to `__imp__ZN4Poco3Net13SocketAddressC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEt'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x69b3): undefined reference to `__imp__ZN4Poco3Net14DatagramSocketC1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x69bf): undefined reference to `__imp__ZN4Poco3Net14DatagramSocket7connectERKNS0_13SocketAddressE'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6c0c): undefined reference to `__imp__ZN4Poco3Net14DatagramSocketD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6c17): undefined reference to `__imp__ZN4Poco3Net13SocketAddressD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6cbf): undefined reference to `__imp__ZN4Poco3Net13SocketAddressD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6ce0): undefined reference to `__imp__ZNK4Poco9Exception11displayTextB5cxx11Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6ddc): undefined reference to `__imp__ZNK4Poco9Exception11displayTextB5cxx11Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6eab): undefined reference to `__imp__ZN4Poco3Net14DatagramSocketD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6f56): undefined reference to `__imp__ZN4Poco3Net9IPAddressC1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6f78): undefined reference to `__imp__ZN4Poco3Net13SocketAddressC1ERKNS0_9IPAddressEt'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6f7f): undefined reference to `__imp__ZN4Poco3Net9IPAddressD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6fa0): undefined reference to `__imp__ZN4Poco3Net14DatagramSocketC1ERKNS0_13SocketAddressEb'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6fb1): undefined reference to `__imp__ZN4Poco8TimespanC1Ell'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x6fcc): undefined reference to `__imp__ZN4Poco3Net13SocketAddressD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x7025): undefined reference to `__imp__ZN4Poco3Net13SocketAddressC1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x7042): undefined reference to `__imp__ZN4Poco3Net14DatagramSocket11receiveFromEPviRNS0_13SocketAddressEi'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x7059): undefined reference to `__imp__ZNK4Poco3Net13SocketAddress4hostEv'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x706d): undefined reference to `__imp__ZNK4Poco3Net9IPAddress8toStringB5cxx11Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x7765): undefined reference to `__imp__ZN4Poco3Net14DatagramSocketD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x794d): undefined reference to `__imp__ZN4Poco3Net9IPAddressD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x79b5): undefined reference to `__imp__ZNK4Poco9Exception11displayTextB5cxx11Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x7add): undefined reference to `__imp__ZN4Poco3Net14DatagramSocketD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x7b16): undefined reference to `__imp__ZN4Poco3Net13SocketAddressD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x7bc0): undefined reference to `__imp__ZN4Poco3Net13SocketAddressD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoAPI.o:PocoAPI.cpp:(.text+0x7cca): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSessionD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x163): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSession7setHostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x176): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSession7setPortEt'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x19b): undefined reference to `__imp__ZN4Poco8TimespanC1Ell'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x1a7): undefined reference to `__imp__ZN4Poco3Net11HTTPSession10setTimeoutERKNS_8TimespanE'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x1da): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSession7setHostERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x1e6): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSession7setPortEt'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x1fc): undefined reference to `__imp__ZN4Poco8TimespanC1Ell'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x208): undefined reference to `__imp__ZN4Poco3Net11HTTPSession10setTimeoutERKNS_8TimespanE'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x2ff): undefined reference to `__imp__ZN4Poco8TimespanC1ERKS0_'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x30b): undefined reference to `__imp__ZN4Poco8Timespan7SECONDSE'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x352): undefined reference to `__imp__ZN4Poco3Net11HTTPMessage8HTTP_1_1B5cxx11E'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x35b): undefined reference to `__imp__ZN4Poco3Net11HTTPRequestC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_S9_'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x36c): undefined reference to `__imp__ZN4Poco3Net12HTTPResponseC1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x373): undefined reference to `__imp__ZN4Poco3Net11HTTPRequest8HTTP_GETB5cxx11E'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x3f9): undefined reference to `__imp__ZN4Poco3Net11HTTPMessage14setContentTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x427): undefined reference to `__imp__ZN4Poco3Net11HTTPMessage16setContentLengthEx'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x433): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSession11sendRequestERNS0_11HTTPRequestE'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x467): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSession15receiveResponseERNS0_12HTTPResponseE'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x49b): undefined reference to `__imp__ZN4Poco3Net12HTTPResponseD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x4a4): undefined reference to `__imp__ZN4Poco3Net11HTTPRequestD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x8a7): undefined reference to `__imp__ZN4Poco16NullOutputStreamC1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x8be): undefined reference to `__imp__ZN4Poco12StreamCopier10copyStreamERSiRSoy'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x8cd): undefined reference to `__imp__ZN4Poco16NullOutputStreamD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0xe37): undefined reference to `__imp__ZN4Poco3Net12HTTPResponseD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0xe40): undefined reference to `__imp__ZN4Poco3Net11HTTPRequestD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0xf1a): undefined reference to `__imp__ZN4Poco16NullOutputStreamD1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0xf78): undefined reference to `__imp__ZNK4Poco9Exception11displayTextB5cxx11Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x1087): undefined reference to `__imp__ZN4Poco3Net11HTTPRequest8HTTP_PUTB5cxx11E'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x1152): undefined reference to `__imp__ZN4Poco3Net11HTTPRequest8HTTP_PUTB5cxx11E'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x1207): undefined reference to `__imp__ZN4Poco3Net11HTTPRequest11HTTP_DELETEB5cxx11E'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/PocoRestAPI.o:PocoRestAPI.cp:(.text+0x12d2): undefined reference to `__imp__ZN4Poco3Net11HTTPRequest11HTTP_DELETEB5cxx11E'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Frontend.o:Frontend.cpp:(.text+0x2e82): undefined reference to `__imp__ZN4Poco3Net11HTTPRequest8HTTP_GETB5cxx11E'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Frontend.o:Frontend.cpp:(.text+0x453b): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSessionC1Ev'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: release/Frontend.o:Frontend.cpp:(.text+0xb07a): undefined reference to `__imp__ZN4Poco3Net17HTTPClientSessionD1Ev'
  • for OpenCV:
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: /home/ks/Projects/MXE/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/11.3.0/../../../../x86_64-w64-mingw32.static/lib/../lib/libopencv_videoio460.a(cap_ffmpeg.cpp.obj):cap_ffmpeg.cpp:(.text$__tcf_0+0x7): undefined reference to `av_log_set_callback'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: /home/ks/Projects/MXE/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/11.3.0/../../../../x86_64-w64-mingw32.static/lib/../lib/libopencv_videoio460.a(cap_ffmpeg.cpp.obj):cap_ffmpeg.cpp:(.text$_ZL19ffmpeg_log_callbackPviPKcPc+0x10): undefined reference to `av_log_get_level'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: /home/ks/Projects/MXE/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/11.3.0/../../../../x86_64-w64-mingw32.static/lib/../lib/libopencv_videoio460.a(cap_ffmpeg.cpp.obj):cap_ffmpeg.cpp:(.text$_ZN16CvCapture_FFMPEG4initEv+0xe3): undefined reference to `av_init_packet'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: /home/ks/Projects/MXE/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/11.3.0/../../../../x86_64-w64-mingw32.static/lib/../lib/libopencv_videoio460.a(cap_ffmpeg.cpp.obj):cap_ffmpeg.cpp:(.text$_ZN16CvCapture_FFMPEG4initEv+0x175): undefined reference to `av_init_packet'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: /home/ks/Projects/MXE/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/11.3.0/../../../../x86_64-w64-mingw32.static/lib/../lib/libopencv_videoio460.a(cap_ffmpeg.cpp.obj):cap_ffmpeg.cpp:(.text$_ZN16CvCapture_FFMPEG5closeEv+0x16): undefined reference to `sws_freeContext'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: /home/ks/Projects/MXE/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/11.3.0/../../../../x86_64-w64-mingw32.static/lib/../lib/libopencv_videoio460.a(cap_ffmpeg.cpp.obj):cap_ffmpeg.cpp:(.text$_ZN16CvCapture_FFMPEG5closeEv+0x34): undefined reference to `av_frame_free'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: /home/ks/Projects/MXE/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/11.3.0/../../../../x86_64-w64-mingw32.static/lib/../lib/libopencv_videoio460.a(cap_ffmpeg.cpp.obj):cap_ffmpeg.cpp:(.text$_ZN16CvCapture_FFMPEG5closeEv+0x54): undefined reference to `avformat_close_input'
/home/ks/Projects/MXE/mxe/usr/bin/x86_64-w64-mingw32.static-ld: /home/ks/Projects/MXE/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/11.3.0/../../../../x86_64-w64-mingw32.static/lib/../lib/libopencv_videoio460.a(cap_ffmpeg.cpp.obj):cap_ffmpeg.cpp:(.text$_ZN16CvCapture_FFMPEG5closeEv+0x66): undefined reference to `av_frame_unref'

...

Full log at: https://pastebin.com/n13wRmmM

From what i've read, __imp_ suggests that linker looks for dll symbols, but i want static. Errors for SFML can be bypassed by linking directly to files:

LIBS += /home/ks/Projects/MXE/mxe/usr/x86_64-w64-mingw32.static/lib/libsfml-graphics-s.a /home/ks/Projects/MXE/mxe/usr/x86_64-w64-mingw32.static/lib/libsfml-window-s.a /home/ks/Projects/MXE/mxe/usr/x86_64-w64-mingw32.static/lib/libsfml-system-s.a

For Poco, same method doesn't work. Besides, it's simply a workaround and imo not proper method.

With OpenCV i've also tried linking libav* libs but it resulted only in longer error log. I've tried also linking via pkg-config by adding these lines to .pro file:

CONFIG += link_pkgconfig
PKGCONFIG += opencv4

but it didn't work either, errors were same as via -l command.

Also i find it strange, that i have to add include path to opencv4 folder in qt .pro file

INCLUDEPATH += /home/ks/Projects/MXE/mxe/usr/x86_64-w64-mingw32.static/include/opencv4/

shouldn't it be somehow automatically handled? If i include <opencv4/opencv2/opencv.hpp> in my cpp file, compilation returns errors, because in opencv headers includes refer to <opencv2/opencv.hpp>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant