Reputation: 629
I'm compiling FFmpeg statically against VS2013 update 5 using --toolchain=msvc
If I link against avformat.lib i get a bunch of LNK2019 errors.
I can link make calls against the other libraries(avcodec, swscale, avutil).
Looking at the errors, it seems to be against all the networking .o's (tls_schannel.o, networking.o, tcp.o, etc....)
Here is the output
error LNK2019: unresolved external symbol _QueryContextAttributesA@12 referenced in function _tls_write avformat.lib(tls_schannel.o)
error LNK2019: unresolved external symbol _InitializeSecurityContextA@48 referenced in function _tls_client_handshake avformat.lib(tls_schannel.o)
error LNK2019: unresolved external symbol _FreeContextBuffer@4 referenced in function _tls_client_handshake avformat.lib(tls_schannel.o)
error LNK2019: unresolved external symbol _EncryptMessage@16 referenced in function _tls_write avformat.lib(tls_schannel.o)
error LNK2019: unresolved external symbol _DecryptMessage@16 referenced in function _tls_read avformat.lib(tls_schannel.o)
error LNK2019: unresolved external symbol _AcquireCredentialsHandleA@36 referenced in function _tls_open avformat.lib(tls_schannel.o)
error LNK2019: unresolved external symbol __imp__WSAStartup@8 referenced in function _ff_network_init avformat.lib(network.o)
error LNK2019: unresolved external symbol __imp__WSAGetLastError@0 referenced in function _ff_neterrno avformat.lib(network.o)
error LNK2019: unresolved external symbol __imp__WSACleanup@0 referenced in function _ff_network_close avformat.lib(network.o)
error LNK2019: unresolved external symbol __imp__socket@12 referenced in function _ff_socket avformat.lib(network.o)
error LNK2019: unresolved external symbol __imp__shutdown@8 referenced in function _tcp_shutdown avformat.lib(tcp.o)
error LNK2019: unresolved external symbol __imp__setsockopt@20 referenced in function _tcp_open avformat.lib(tcp.o)
error LNK2019: unresolved external symbol __imp__sendto@24 referenced in function _rtp_write avformat.lib(rtpproto.o)
error LNK2019: unresolved external symbol __imp__send@16 referenced in function _tcp_write avformat.lib(tcp.o)
error LNK2019: unresolved external symbol __imp__select@20 referenced in function _ff_poll avformat.lib(os_support.o)
error LNK2019: unresolved external symbol __imp__recvfrom@24 referenced in function _rtp_read avformat.lib(rtpproto.o)
error LNK2019: unresolved external symbol __imp__recv@16 referenced in function _tcp_read avformat.lib(tcp.o)
error LNK2019: unresolved external symbol __imp__ntohs@4 referenced in function _get_port avformat.lib(rtpproto.o)
error LNK2019: unresolved external symbol __imp__ntohl@4 referenced in function _ff_is_multicast_address avformat.lib(network.o)
error LNK2019: unresolved external symbol __imp__listen@8 referenced in function _ff_listen avformat.lib(network.o)
error LNK2019: unresolved external symbol __imp__ioctlsocket@12 referenced in function _ff_socket_nonblock avformat.lib(os_support.o)
error LNK2019: unresolved external symbol __imp__htons@4 referenced in function _set_port avformat.lib(rtpproto.o)
error LNK2019: unresolved external symbol __imp__htonl@4 referenced in function _ff_inet_aton avformat.lib(os_support.o)
error LNK2019: unresolved external symbol __imp__getsockopt@20 referenced in function _udp_open avformat.lib(udp.o)
error LNK2019: unresolved external symbol __imp__getsockname@12 referenced in function _rtp_read_header avformat.lib(rtsp.o)
error LNK2019: unresolved external symbol __imp__getpeername@12 referenced in function _ff_rtsp_connect avformat.lib(rtsp.o)
error LNK2019: unresolved external symbol __imp__getnameinfo@28 referenced in function _sdp_read_header avformat.lib(rtsp.o)
error LNK2019: unresolved external symbol __imp__gethostname@8 referenced in function _ff_rtp_parse_open avformat.lib(rtpdec.o)
error LNK2019: unresolved external symbol __imp__FreeCredentialsHandle@4 referenced in function _tls_close avformat.lib(tls_schannel.o)
error LNK2019: unresolved external symbol __imp__DeleteSecurityContext@4 referenced in function _tls_close avformat.lib(tls_schannel.o)
error LNK2019: unresolved external symbol __imp__connect@12 referenced in function _udp_open avformat.lib(udp.o)
error LNK2019: unresolved external symbol __imp__closesocket@4 referenced in function _tcp_close avformat.lib(tcp.o)
error LNK2019: unresolved external symbol __imp__bind@12 referenced in function _udp_open avformat.lib(udp.o)
error LNK2019: unresolved external symbol __imp__ApplyControlToken@8 referenced in function _tls_shutdown_client avformat.lib(tls_schannel.o)
error LNK2019: unresolved external symbol __imp__accept@12 referenced in function _ff_accept avformat.lib(network.o)
error LNK2019: unresolved external symbol ___WSAFDIsSet@8 referenced in function _ff_poll avformat.lib(os_support.o)
error LNK2001: unresolved external symbol __imp__setsockopt@20 avformat.lib(udp.o)
error LNK2001: unresolved external symbol __imp__setsockopt@20 avformat.lib(network.o)
error LNK2001: unresolved external symbol __imp__sendto@24 avformat.lib(udp.o)
error LNK2001: unresolved external symbol __imp__send@16 avformat.lib(udp.o)
error LNK2001: unresolved external symbol __imp__recv@16 avformat.lib(udp.o)
error LNK2001: unresolved external symbol __imp__getsockopt@20 avformat.lib(network.o)
error LNK2001: unresolved external symbol __imp__getsockname@12 avformat.lib(sapenc.o)
error LNK2001: unresolved external symbol __imp__getsockname@12 avformat.lib(udp.o)
error LNK2001: unresolved external symbol __imp__getnameinfo@28 avformat.lib(udp.o)
error LNK2001: unresolved external symbol __imp__getnameinfo@28 avformat.lib(sdp.o)
error LNK2001: unresolved external symbol __imp__getaddrinfo@16 avformat.lib(udp.o)
error LNK2001: unresolved external symbol __imp__getaddrinfo@16 avformat.lib(url.o)
error LNK2001: unresolved external symbol __imp__getaddrinfo@16 avformat.lib(sdp.o)
error LNK2001: unresolved external symbol __imp__getaddrinfo@16 avformat.lib(tls.o)
error LNK2001: unresolved external symbol __imp__getaddrinfo@16 avformat.lib(rtsp.o)
error LNK2001: unresolved external symbol __imp__getaddrinfo@16 avformat.lib(sapenc.o)
error LNK2001: unresolved external symbol __imp__getaddrinfo@16 avformat.lib(rtpproto.o)
error LNK2001: unresolved external symbol __imp__getaddrinfo@16 avformat.lib(tcp.o)
error LNK2001: unresolved external symbol __imp__freeaddrinfo@4 avformat.lib(udp.o)
error LNK2001: unresolved external symbol __imp__freeaddrinfo@4 avformat.lib(url.o)
error LNK2001: unresolved external symbol __imp__freeaddrinfo@4 avformat.lib(sdp.o)
error LNK2001: unresolved external symbol __imp__freeaddrinfo@4 avformat.lib(tls.o)
error LNK2001: unresolved external symbol __imp__freeaddrinfo@4 avformat.lib(rtsp.o)
error LNK2001: unresolved external symbol __imp__freeaddrinfo@4 avformat.lib(sapenc.o)
error LNK2001: unresolved external symbol __imp__freeaddrinfo@4 avformat.lib(rtpproto.o)
error LNK2001: unresolved external symbol __imp__freeaddrinfo@4 avformat.lib(tcp.o)
error LNK2001: unresolved external symbol __imp__connect@12 avformat.lib(network.o)
error LNK2001: unresolved external symbol __imp__closesocket@4 avformat.lib(udp.o)
error LNK2001: unresolved external symbol __imp__closesocket@4 avformat.lib(network.o)
error LNK2001: unresolved external symbol __imp__bind@12 avformat.lib(network.o)
Upvotes: 1
Views: 935
Reputation: 308
It's caused by missing Windows socket library when linking program.
If you don't want any network funcionality from ffmpeg just add this switch to configure
command when building ffmpeg:
--disable-network
or if you want network add Ws2_32.lib
to Additional dependecies in linker options in you program.
Upvotes: 1