Nice, thanks for posting too. To continue on my embedding spree of random linker errors, these ones only show up in release builds for me :
host.obj : error LNK2019: unresolved external symbol _enet_list_clear referenced in function _enet_host_create peer.obj : error LNK2001: unresolved external symbol _enet_list_clear protocol.obj : error LNK2001: unresolved external symbol _enet_list_clear peer.obj : error LNK2019: unresolved external symbol _enet_list_remove referenced in function _enet_peer_receive protocol.obj : error LNK2001: unresolved external symbol _enet_list_remove peer.obj : error LNK2019: unresolved external symbol _enet_list_insert referenced in function _enet_peer_queue_acknowledgement protocol.obj : error LNK2001: unresolved external symbol _enet_list_insert peer.obj : error LNK2019: unresolved external symbol _enet_list_move referenced in function _enet_peer_dispatch_incoming_unreliable_commands There are multiple ways to fix this, for the people looking for a really hackish hotfix, Add the following to the top of host.c #if(ENET_BUILDING_LIB != 1) #include "enet/list.c" #endif /* !ENET_BUILDING_LIB */ This is a dirty fix, i will post a cleaner fix if i can get around to it. On Wed, Nov 24, 2010 at 6:41 PM, Nicholas J Ingrassellino < [email protected]> wrote: > It is awesome that you posted this. Thank you. In this spirit I will post > something I was struggling with. > > I had an issue using ENet with Allegro with Visual C++ 9. The headers need > to be: > > #define _WINSOCKAPI_ > #define ALLEGRO_STATICLINK > #define ALLEGRO_NO_ASM > > #include <allegro.h> > #include <winalleg.h> > #include <enet/enet.h> > > and the libs needs to be > > alleg_s_crt.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib > dinput.lib ddraw.lib dxguid.lib winmm.lib dsound.lib enet.lib ws2_32.lib > > Any other order in the headers threw a mess of unresolved external symbols > which took me a decent amount of time to figure out. As you can probably > tell I am statically linking Allegro. This should also work with Allegro > being dynamically linked (obviously with *#define ALLEGRO_STATICLINK*removed). > > ------------------------------ > > Nicholas J Ingrassellino > LifebloodNetworks.com <http://www.lifebloodnetworks.com/> || > [email protected] > > "The idea that I can be presented with a problem, set out to logically > solve it with the tools at hand, and wind up with a program that could not > be legally used because someone else followed the same logical steps some > years ago and filed for a patent on it is horrifying." > - John Carmack on software patents > > On 11/24/2010 08:43 AM, fuzzy spoon wrote: > > Steps to reproduce : > Drop code into existing solution. > Make sure you are linking to WS2_32.lib and Winmm.lib > Make sure that you have defined WIN32_LEAN_AND_MEAN > Build. > > Problem : Linker errors ( timeBeginPeriod etc from winmm.lib, called from > enet_initialize). > > Fix: Due to WIN32_LEAN_AND_MEAN , mmsystem.h is no longer included in the > chain that enet relied on before. > > At the top of win32.h, Line 18 (added underneath the other includes). > > #ifdef WIN32_LEAN_AND_MEAN > #include <mmsystem.h> > #endif /* WIN32_LEAN_AND_MEAN */ > > > Hopefully this will save someone some time. > > > _______________________________________________ > ENet-discuss mailing > [email protected]http://lists.cubik.org/mailman/listinfo/enet-discuss > > > _______________________________________________ > ENet-discuss mailing list > [email protected] > http://lists.cubik.org/mailman/listinfo/enet-discuss > >
_______________________________________________ ENet-discuss mailing list [email protected] http://lists.cubik.org/mailman/listinfo/enet-discuss
