News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

Trying to compile nettool on Windows with MSVC

Started by Ashley, May 23, 2011, 05:12:00 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ashley

Using VS2008, I've followed the instructions in this thread. I'm getting the following errors with the linker, am I missing some vital component?

Error 8 error LNK2001: unresolved external symbol ___WSAFDIsSet@8 c:\svn\simutrans\trunk\network_socket_list.obj 1 Nettool
Error 9 error LNK2001: unresolved external symbol "public: char const * __thiscall loadsave_t::close(void)" (?close@loadsave_t@@QAEPBDXZ) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 10 error LNK2001: unresolved external symbol "public: bool __thiscall loadsave_t::rd_open(char const *)" (?rd_open@loadsave_t@@QAE_NPBD@Z) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 11 error LNK2001: unresolved external symbol "public: __thiscall loadsave_t::~loadsave_t(void)" (??1loadsave_t@@QAE@XZ) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 12 error LNK2001: unresolved external symbol "public: __thiscall loadsave_t::loadsave_t(void)" (??0loadsave_t@@QAE@XZ) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 13 error LNK2001: unresolved external symbol "public: void __thiscall karte_t::set_map_counter(unsigned int)" (?set_map_counter@karte_t@@QAEXI@Z) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 14 error LNK2001: unresolved external symbol "public: __thiscall gameinfo_t::gameinfo_t(class loadsave_t *)" (??0gameinfo_t@@QAE@PAVloadsave_t@@@Z) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 15 error LNK2001: unresolved external symbol "public: virtual void __thiscall nwc_game_t::rdwr(void)" (?rdwr@nwc_game_t@@UAEXXZ) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 16 error LNK2001: unresolved external symbol "public: __thiscall checksum_t::~checksum_t(void)" (??1checksum_t@@QAE@XZ) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 17 error LNK2001: unresolved external symbol __imp__recv@16 c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 18 error LNK2001: unresolved external symbol "int __cdecl is_display_init(void)" (?is_display_init@@YAHXZ) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 19 error LNK2001: unresolved external symbol "public: static char const * __cdecl translator::translate(char const *)" (?translate@translator@@SAPBDPBD@Z) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 20 error LNK2001: unresolved external symbol "void __cdecl display_progress(int,int)" (?display_progress@@YAXHH@Z) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 21 error LNK2001: unresolved external symbol "public: virtual void __thiscall nwc_gameinfo_t::rdwr(void)" (?rdwr@nwc_gameinfo_t@@UAEXXZ) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 22 error LNK2001: unresolved external symbol "public: virtual bool __thiscall nwc_gameinfo_t::execute(class karte_t *)" (?execute@nwc_gameinfo_t@@UAE_NPAVkarte_t@@@Z) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 23 error LNK2001: unresolved external symbol "public: virtual void __thiscall nwc_join_t::rdwr(void)" (?rdwr@nwc_join_t@@UAEXXZ) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 24 error LNK2001: unresolved external symbol "public: virtual bool __thiscall nwc_join_t::execute(class karte_t *)" (?execute@nwc_join_t@@UAE_NPAVkarte_t@@@Z) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 25 error LNK2001: unresolved external symbol "void __cdecl display_set_progress_text(char const *)" (?display_set_progress_text@@YAXPBD@Z) c:\svn\simutrans\trunk\network_file_transfer.obj 1 Nettool
Error 26 error LNK2001: unresolved external symbol "public: virtual bool __thiscall nwc_service_t::execute(class karte_t *)" (?execute@nwc_service_t@@UAE_NPAVkarte_t@@@Z) c:\svn\simutrans\trunk\network_cmd.obj 1 Nettool
Error 27 error LNK2001: unresolved external symbol __imp__accept@12 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 28 error LNK2001: unresolved external symbol __imp__listen@8 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 29 error LNK2001: unresolved external symbol "public: static void __cdecl nwc_ready_t::clear_map_counters(void)" (?clear_map_counters@nwc_ready_t@@SAXXZ) c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 30 error LNK2001: unresolved external symbol __imp__send@16 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 31 error LNK2001: unresolved external symbol "public: static bool umgebung_t::networkmode" (?networkmode@umgebung_t@@2_NA) c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 32 error LNK2001: unresolved external symbol __imp__closesocket@4 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 33 error LNK2001: unresolved external symbol __imp__freeaddrinfo@4 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 34 error LNK2001: unresolved external symbol __imp__socket@12 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 35 error LNK2001: unresolved external symbol __imp__bind@12 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 36 error LNK2001: unresolved external symbol __imp__WSACleanup@0 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 37 error LNK2001: unresolved external symbol __imp__setsockopt@20 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 38 error LNK2001: unresolved external symbol __imp__WSAGetLastError@0 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 39 error LNK2001: unresolved external symbol "public: static unsigned int nwc_pakset_info_t::server_receiver" (?server_receiver@nwc_pakset_info_t@@2IA) c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 40 error LNK2001: unresolved external symbol __imp__select@20 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 41 error LNK2001: unresolved external symbol __imp__getaddrinfo@16 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 42 error LNK2001: unresolved external symbol "public: static unsigned int nwc_join_t::pending_join_client" (?pending_join_client@nwc_join_t@@2IA) c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 43 error LNK2001: unresolved external symbol __imp__ntohl@4 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 44 error LNK2001: unresolved external symbol __imp__WSAStartup@8 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 45 error LNK2001: unresolved external symbol __imp__inet_ntoa@4 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 46 error LNK2001: unresolved external symbol __imp__connect@12 c:\svn\simutrans\trunk\network.obj 1 Nettool
Error 47 error LNK2001: unresolved external symbol "void __cdecl dr_flush(void)" (?dr_flush@@YAXXZ) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 48 error LNK2001: unresolved external symbol "short __cdecl display_get_height(void)" (?display_get_height@@YAFXZ) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 49 error LNK2001: unresolved external symbol "void __cdecl dr_prepare_flush(void)" (?dr_prepare_flush@@YAXXZ) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 50 error LNK2001: unresolved external symbol "bool __cdecl check_pos_win(struct event_t *)" (?check_pos_win@@YA_NPAUevent_t@@@Z) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 51 error LNK2001: unresolved external symbol "int __cdecl create_win(int,int,class gui_frame_t *,enum wintype,long)" (?create_win@@YAHHHPAVgui_frame_t@@W4wintype@@J@Z) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 52 error LNK2001: unresolved external symbol "bool __cdecl win_is_top(class gui_frame_t const *)" (?win_is_top@@YA_NPBVgui_frame_t@@@Z) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 53 error LNK2001: unresolved external symbol "bool __cdecl dr_fatal_notify(char const *,int)" (?dr_fatal_notify@@YA_NPBDH@Z) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 54 error LNK2001: unresolved external symbol "void __cdecl dr_sleep(unsigned int)" (?dr_sleep@@YAXI@Z) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 55 error LNK2001: unresolved external symbol "void __cdecl destroy_all_win(bool)" (?destroy_all_win@@YAX_N@Z) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 56 error LNK2001: unresolved external symbol "void __cdecl display_poll_event(struct event_t *)" (?display_poll_event@@YAXPAUevent_t@@@Z) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 57 error LNK2001: unresolved external symbol "public: static unsigned char umgebung_t::verbose_debug" (?verbose_debug@umgebung_t@@2EA) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 58 error LNK2001: unresolved external symbol "short __cdecl display_get_width(void)" (?display_get_width@@YAFXZ) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 59 error LNK2001: unresolved external symbol "public: __thiscall news_img::news_img(char const *,unsigned short,unsigned short)" (??0news_img@@QAE@PBDGG@Z) c:\svn\simutrans\trunk\log.obj 1 Nettool
Error 60 fatal error LNK1120: 52 unresolved externals simstring.exe Nettool
Use Firefox? Interested in IPv6? Try SixOrNot the IPv6 status indicator for Firefox.
Why not try playing Simutrans online? See the Game Servers board for details.

VS

Maybe you forgot some defines? (I think there is a better term but can't remember now)

My projects... Tools for messing with Simutrans graphics. Graphic archive - templates and some other stuff for painters. Development logs for most recent information on what is going on. And of course pak128!

Ashley

#2
I think I'm missing some system libraries, trying to work out which ones is a pain though. I am going to reinstall the development environment...


Edit: Right I finally worked out what this was. The vcproj file for Nettool has some issues. For one these lines have " chars in them, which breaks the linker command line:

AdditionalIncludeDirectories="""
AdditionalLibraryDirectories="""

Also the preprocessor definitions for the Win32|release configuration don't include the NETTOOL preprocessor definition, which is what was causing me a lot of the problems above:

<Configuration
Name="Release|Win32"
...
PreprocessorDefinitions="ZLIB_WINAPI;LITTLE_ENDIAN;NDEBUG"


The Win32|debug one appears more correct:

<Configuration
Name="Debug|Win32"
...
PreprocessorDefinitions="LITTLE_ENDIAN;DEBUG=3;NETTOOL"
Use Firefox? Interested in IPv6? Try SixOrNot the IPv6 status indicator for Firefox.
Why not try playing Simutrans online? See the Game Servers board for details.

Dwachs

I corrected the nettool project file now taking your suggestions into account.
Parsley, sage, rosemary, and maggikraut.