[ENet-discuss] Linking enet/winsock under mingw32

Ryan Capote trooper777 at gmail.com
Sun Feb 23 10:17:56 PST 2014


Ah, ok so it was the order. Thanks for the help. I'll have to remember that
the dependencies get linked last


On Sun, Feb 23, 2014 at 9:59 AM, Lee Salzman <lsalzman at gmail.com> wrote:

> There's no need for linking against wsock32. Also, trying supplying the
> linker flags in this order: -lenet -lws2_32 -lwinmm
>
>
> On 02/23/2014 07:48 PM, Ryan Capote wrote:
>
>> I'm having an issue with linking enet/winsock under MinGW32, and I'm not
>> understanding why it's failing to work. Make will fail immediately if it
>> couldn't find the libraries, so it can find them (and I verified they are
>> in the path)...but it's still failing. I compiled enet in the same
>> environment, so I don't think it has to do with enet using different
>> library versions
>>
>>
>> /c/MinGW/bin/g++.exe      -Wl,--whole-archive
>> CMakeFiles/ArchaicServer.dir/objects.a -Wl,--no-whole-archive  -o
>> bin/ArchaicServer.exe -Wl,--out-implib,libArchaicServer.dll.a
>> -Wl,--major-image-version,0,--minor-image-version,0  -L../ArchaicEngine
>>  -lwsock32 -lwinmm -lws2_32 -lenet -larchaicengine -lkernel32 -luser32
>> -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32
>>
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_initialize':
>> c:\library\enet/win32.c:19: undefined reference to `_imp__WSAStartup at 8'
>> c:\library\enet/win32.c:30: undefined reference to
>> `_imp__timeBeginPeriod at 4'
>> c:\library\enet/win32.c:25: undefined reference to `_imp__WSACleanup at 0'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_deinitialize':
>> c:\library\enet/win32.c:38: undefined reference to `_imp__timeEndPeriod at 4
>> '
>> c:\library\enet/win32.c:40: undefined reference to `_imp__WSACleanup at 0'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_host_random_seed':
>> c:\library\enet/win32.c:46: undefined reference to `_imp__timeGetTime at 0'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_time_get':
>> c:\library\enet/win32.c:52: undefined reference to `_imp__timeGetTime at 0'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_time_set':
>> c:\library\enet/win32.c:58: undefined reference to `_imp__timeGetTime at 0'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_address_set_host':
>> c:\library\enet/win32.c:66: undefined reference to `_imp__gethostbyname at 4
>> '
>> c:\library\enet/win32.c:70: undefined reference to `_imp__inet_addr at 4'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_address_get_host_ip':
>> c:\library\enet/win32.c:85: undefined reference to `_imp__inet_ntoa at 4'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_address_get_host':
>> c:\library\enet/win32.c:100: undefined reference to
>> `_imp__gethostbyaddr at 12'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_bind':
>> c:\library\enet/win32.c:120: undefined reference to `_imp__htons at 4'
>> c:\library\enet/win32.c:129: undefined reference to `_imp__bind at 12'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_get_address':
>> c:\library\enet/win32.c:140: undefined reference to `_imp__getsockname at 12
>> '
>> c:\library\enet/win32.c:144: undefined reference to `_imp__ntohs at 4'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_listen':
>> c:\library\enet/win32.c:152: undefined reference to `_imp__listen at 8'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_create':
>> c:\library\enet/win32.c:158: undefined reference to `_imp__socket at 12'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_set_option':
>> c:\library\enet/win32.c:199: undefined reference to `_imp__setsockopt at 20'
>> c:\library\enet/win32.c:170: undefined reference to `_imp__ioctlsocket at 12
>> '
>> c:\library\enet/win32.c:179: undefined reference to `_imp__setsockopt at 20'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_get_option':
>> c:\library\enet/win32.c:216: undefined reference to `_imp__getsockopt at 20'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_connect':
>> c:\library\enet/win32.c:234: undefined reference to `_imp__htons at 4'
>> c:\library\enet/win32.c:237: undefined reference to `_imp__connect at 12'
>> c:\library\enet/win32.c:238: undefined reference to
>> `_imp__WSAGetLastError at 0'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_accept':
>> c:\library\enet/win32.c:251: undefined reference to `_imp__accept at 12'
>> c:\library\enet/win32.c:261: undefined reference to `_imp__ntohs at 4'
>> c:\library\enet/win32.c:251: undefined reference to `_imp__accept at 12'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_shutdown':
>> c:\library\enet/win32.c:270: undefined reference to `_imp__shutdown at 8'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_destroy':
>> c:\library\enet/win32.c:277: undefined reference to `_imp__closesocket at 4'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_send':
>> c:\library\enet/win32.c:294: undefined reference to `_imp__htons at 4'
>> c:\library\enet/win32.c:298: undefined reference to `_imp__WSASendTo at 36'
>> c:\library\enet/win32.c:308: undefined reference to
>> `_imp__WSAGetLastError at 0'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_receive':
>> c:\library\enet/win32.c:328: undefined reference to `_imp__WSARecvFrom at 36
>> '
>> c:\library\enet/win32.c:354: undefined reference to `_imp__ntohs at 4'
>> c:\library\enet/win32.c:338: undefined reference to
>> `_imp__WSAGetLastError at 0'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socketset_select':
>> c:\library\enet/win32.c:368: undefined reference to `_imp__select at 20'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/lib/
>> ../lib/libenet.a(win32.o): In function `enet_socket_wait':
>> c:\library\enet/win32.c:390: undefined reference to `_imp__select at 20'
>> c:\library\enet/win32.c:400: undefined reference to `__WSAFDIsSet at 8'
>> c:\library\enet/win32.c:403: undefined reference to `__WSAFDIsSet at 8'
>> ../ArchaicEngine/libarchaicengine.a(NetworkPeer.cpp.obj):
>> NetworkPeer.cpp:(.text+
>> 0x51): undefined reference to `enet_peer_disconnect'
>> ../ArchaicEngine/libarchaicengine.a(NetworkPeer.cpp.obj):
>> NetworkPeer.cpp:(.text+
>> 0x8c): undefined reference to `enet_peer_send'
>> ../ArchaicEngine/libarchaicengine.a(NetworkPeer.cpp.obj):
>> NetworkPeer.cpp:(.text+
>> 0xca): undefined reference to `enet_packet_create'
>> ../ArchaicEngine/libarchaicengine.a(NetworkPeer.cpp.obj):
>> NetworkPeer.cpp:(.text+
>> 0xea): undefined reference to `enet_peer_send'
>> c:/mingw/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../
>> i686-w64-mingw32/bin/
>> ld.exe: ../ArchaicEngine/libarchaicengine.a(NetworkPeer.cpp.obj): bad
>> reloc addr
>> ess 0x20 in section `.eh_frame'
>> collect2.exe: error: ld returned 1 exit status
>> make[2]: *** [bin/ArchaicServer.exe] Error 1
>> make[2]: Leaving directory `/c/projects/archaicengine/archaicserver'
>> make[1]: *** [CMakeFiles/ArchaicServer.dir/all] Error 2
>> make[1]: Leaving directory `/c/projects/archaicengine/archaicserver'
>> make: *** [all] Error 2
>>
>>
>> _______________________________________________
>> ENet-discuss mailing list
>> ENet-discuss at cubik.org
>> http://lists.cubik.org/mailman/listinfo/enet-discuss
>>
>
> _______________________________________________
> ENet-discuss mailing list
> ENet-discuss at cubik.org
> http://lists.cubik.org/mailman/listinfo/enet-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cubik.org/pipermail/enet-discuss/attachments/20140223/215d4346/attachment-0001.html>


More information about the ENet-discuss mailing list