KevinA
KevinA

Reputation: 629

avformat.lib and VS2013

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

Answers (1)

wallycz
wallycz

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

Related Questions