I have checked out everything through CVS today, and am trying to build a working executable. I use Visual Studio 6.0 with SP5 applied. The compilation stage works fine (with a few warnings), but when it gets to linking it spits out the following:
Linking...
Creating library ..\data4.x\bin\vegastrike.lib and object ..\data4.x\bin\vegastrike.exp
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
netbuffer.obj : error LNK2001: unresolved external symbol "void __cdecl VsnetOSS::memcpy(void *,void const *,int)" (?memcpy@VsnetOSS@@YAXPAXPBXH@Z)
packet.obj : error LNK2001: unresolved external symbol "void __cdecl VsnetOSS::memcpy(void *,void const *,int)" (?memcpy@VsnetOSS@@YAXPAXPBXH@Z)
vsnet_dloadmgr.obj : error LNK2001: unresolved external symbol "void __cdecl VsnetOSS::memcpy(void *,void const *,int)" (?memcpy@VsnetOSS@@YAXPAXPBXH@Z)
netui.obj : error LNK2001: unresolved external symbol "int __cdecl VsnetOSS::close_socket(int)" (?close_socket@VsnetOSS@@YAHH@Z)
vsnet_pipe.obj : error LNK2001: unresolved external symbol "int __cdecl VsnetOSS::close_socket(int)" (?close_socket@VsnetOSS@@YAHH@Z)
vsnet_serversocket.obj : error LNK2001: unresolved external symbol "int __cdecl VsnetOSS::close_socket(int)" (?close_socket@VsnetOSS@@YAHH@Z)
netui.obj : error LNK2001: unresolved external symbol "int __cdecl VsnetOSS::inet_aton(char const *,struct in_addr *)" (?inet_aton@VsnetOSS@@YAHPBDPAUin_addr@@@Z)
netui.obj : error LNK2001: unresolved external symbol "int __cdecl VsnetOSS::socket(int,int,int)" (?socket@VsnetOSS@@YAHHHH@Z)
netserver_login.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
netserver_net.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
zonemgr.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
netserver.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
netserver_acct.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
netserver_clients.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
netserver_devices.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
client.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
netclient.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
netclient_clients.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
netclient_login.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
vsnet_serversocket.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
vsnet_socketset.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
vsnet_sockettcp.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
vsnet_socketudp.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
netui.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
packet.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
vsnet_dloadmgr.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
vsnet_notify.obj : error LNK2001: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl vsnetDbgOut(char const *,int)" (?vsnetDbgOut@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@PBDH@Z)
netui.obj : error LNK2001: unresolved external symbol "public: void __thiscall VsnetSocketBase::disconnect(char const *,bool)" (?disconnect@VsnetSocketBase@@QAEXPBD_N@Z)
vsnet_socket.obj : error LNK2001: unresolved external symbol "public: void __thiscall VsnetSocketBase::disconnect(char const *,bool)" (?disconnect@VsnetSocketBase@@QAEXPBD_N@Z)
netserver.obj : error LNK2001: unresolved external symbol "public: void __thiscall VsnetSocketBase::disconnect(char const *,bool)" (?disconnect@VsnetSocketBase@@QAEXPBD_N@Z)
netui.obj : error LNK2001: unresolved external symbol "public: bool __thiscall VsnetSocketBase::set_nonblock(void)" (?set_nonblock@VsnetSocketBase@@QAE_NXZ)
vsnet_socket.obj : error LNK2001: unresolved external symbol "public: bool __thiscall VsnetSocketBase::set_nonblock(void)" (?set_nonblock@VsnetSocketBase@@QAE_NXZ)
vsnet_dloadmgr.obj : error LNK2001: unresolved external symbol "public: __thiscall VsnetDownload::RecvCmdDownload::~RecvCmdDownload(void)" (??1RecvCmdDownload@VsnetDownload@@QAE@XZ)
vsnet_dloadmgr.obj : error LNK2001: unresolved external symbol "public: enum VsnetDownload::Subcommand __thiscall VsnetDownload::RecvCmdDownload::parse(void)" (?parse@RecvCmdDownload@VsnetDownload@@QAE?AW4Subcommand@2@XZ)
vsnet_dloadmgr.obj : error LNK2001: unresolved external symbol "public: __thiscall VsnetDownload::RecvCmdDownload::RecvCmdDownload(class NetBuffer &)" (??0RecvCmdDownload@VsnetDownload@@QAE@AAVNetBuffer@@@Z)
vsnet_pipe.obj : error LNK2001: unresolved external symbol "int __cdecl VsnetOSS::recv(int,void *,unsigned int,int)" (?recv@VsnetOSS@@YAHHPAXIH@Z)
vsnet_sockettcp.obj : error LNK2001: unresolved external symbol "int __cdecl VsnetOSS::recv(int,void *,unsigned int,int)" (?recv@VsnetOSS@@YAHHPAXIH@Z)
vsnet_socketudp.obj : error LNK2001: unresolved external symbol "public: int __thiscall VsnetSocketBase::get_fd(void)const " (?get_fd@VsnetSocketBase@@QBEHXZ)
netserver_net.obj : error LNK2001: unresolved external symbol "public: int __thiscall VsnetSocketBase::get_fd(void)const " (?get_fd@VsnetSocketBase@@QBEHXZ)
vsnet_serversocket.obj : error LNK2001: unresolved external symbol "public: int __thiscall VsnetSocketBase::get_fd(void)const " (?get_fd@VsnetSocketBase@@QBEHXZ)
vsnet_socket.obj : error LNK2001: unresolved external symbol "public: int __thiscall VsnetSocketBase::get_fd(void)const " (?get_fd@VsnetSocketBase@@QBEHXZ)
vsnet_socketset.obj : error LNK2001: unresolved external symbol "public: int __thiscall VsnetSocketBase::get_fd(void)const " (?get_fd@VsnetSocketBase@@QBEHXZ)
vsnet_sockettcp.obj : error LNK2001: unresolved external symbol "public: int __thiscall VsnetSocketBase::get_fd(void)const " (?get_fd@VsnetSocketBase@@QBEHXZ)
vsnet_serversocket.obj : error LNK2001: unresolved external symbol "public: __thiscall VsnetSocketBase::VsnetSocketBase(int,char const *,class SocketSet &)" (??0VsnetSocketBase@@QAE@HPBDAAVSocketSet@@@Z)
vsnet_serversocket.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall VsnetSocketBase::~VsnetSocketBase(void)" (??1VsnetSocketBase@@UAE@XZ)
vsnet_socket.obj : error LNK2001: unresolved external symbol "public: bool __thiscall VsnetSocketBase::valid(void)const " (?valid@VsnetSocketBase@@QBE_NXZ)
vsnet_socket.obj : error LNK2001: unresolved external symbol "public: bool __thiscall VsnetSocket::eq(class VsnetSocket const &)const " (?eq@VsnetSocket@@QBE_NABV1@@Z)
vsnet_socket.obj : error LNK2001: unresolved external symbol "public: bool __thiscall VsnetSocket::lt(class VsnetSocket const &)const " (?lt@VsnetSocket@@QBE_NABV1@@Z)
vsnet_sockettcp.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall VsnetSocket::~VsnetSocket(void)" (??1VsnetSocket@@UAE@XZ)
vsnet_socketudp.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall VsnetSocket::~VsnetSocket(void)" (??1VsnetSocket@@UAE@XZ)
vsnet_sockettcp.obj : error LNK2001: unresolved external symbol "public: __thiscall VsnetSocket::VsnetSocket(int,struct AddressIP const &,char const *,class SocketSet &)" (??0VsnetSocket@@QAE@HABUAddressIP@@PBDAAVSocketSet@@@Z)
vsnet_socketudp.obj : error LNK2001: unresolved external symbol "public: __thiscall VsnetSocket::VsnetSocket(int,struct AddressIP const &,char const *,class SocketSet &)" (??0VsnetSocket@@QAE@HABUAddressIP@@PBDAAVSocketSet@@@Z)
vsnet_sockettcp.obj : error LNK2001: unresolved external symbol "public: int __thiscall VsnetSocketBase::close_fd(void)" (?close_fd@VsnetSocketBase@@QAEHXZ)
vsnet_sockettcp.obj : error LNK2001: unresolved external symbol "public: bool __thiscall VsnetSocketBase::get_nonblock(void)const " (?get_nonblock@VsnetSocketBase@@QBE_NXZ)
..\data4.x\bin\vegastrike.exe : fatal error LNK1120: 21 unresolved externals
Error executing link.exe.
vegastrike.exe - 55 error(s), 1 warning(s)
I can see the "defaultlib LIBC conflict" message at the very beginning - is it the cause of all the other errors? I'm not sure how am I supposed to fix it either.
FWIW, the compile warnings are (cut with a bit of context):
ikarus.cpp
input_dfa.cpp
d:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\limits.h(30) : note C6311: ..\vegastrike\src\gldrv/winsys.h(23) : see previous definition of 'UCHAR_MAX'
(...)
prapid.cpp
E:\vegastrike\vegastrike\src\cmd\collide\garray.h(143) : note C6311: E:\vegastrike\vegastrike\src\cmd\collide\cs_compat.h(80) : see previous definition of 'CS_DECLARE_GROWING_ARRAY_REF'
(...)
jpeg_memory.cpp
E:\vegastrike\vegastrike\src\gfx\jpeg_memory.h(1) : note C6311: unknown(0) : see previous definition of 'JPEG_SUPPORT'
include\jmorecfg.h(215) : note C6311: d:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\windef.h(135) : see previous definition of 'FAR'
(...)
vsimage.cpp
include\jmorecfg.h(215) : note C6311: d:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\windef.h(135) : see previous definition of 'FAR'
..\vegastrike\src\gfx/jpeg_memory.h(1) : note C6311: unknown(0) : see previous definition of 'JPEG_SUPPORT'
Everything else compiles fine - and then the linker barfs.
(edit) after reading this thread I tried adding manually all the files in src\networking\lowlevel, but when I rebuild everything I get exactly the same errors.
Linking errors VC++ 6.0 SP5 latest CVS
-
- Merchant
- Posts: 48
- Joined: Sun Feb 08, 2004 12:10 am
- Contact:
-
- Developer
- Posts: 3980
- Joined: Fri Jan 03, 2003 4:53 am
- Location: Stanford, CA
- Contact:
it looks like the project file is missing a few files in networking/lowlevel
try adding all .cpp files in networking/lowlevel to the project
let me know what's different if you can get it to work...I may try it myself later
try adding all .cpp files in networking/lowlevel to the project
let me know what's different if you can get it to work...I may try it myself later
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
http://vegastrike.sourceforge.net/
-
- Merchant
- Posts: 48
- Joined: Sun Feb 08, 2004 12:10 am
- Contact:
-
- Developer
- Posts: 3980
- Joined: Fri Jan 03, 2003 4:53 am
- Location: Stanford, CA
- Contact:
committed a fixed project
it works for me now
gave same errors before
it works for me now
gave same errors before
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
http://vegastrike.sourceforge.net/
-
- Merchant
- Posts: 48
- Joined: Sun Feb 08, 2004 12:10 am
- Contact:
Works very well, thank you!hellcatv wrote:committed a fixed project
it works for me now
gave same errors before
I'll see if I can setup a machine to automatically checkout from CVS and compile a Windows binary then upload it to a server - maybe not daily, but every 3-4 days. And if the compile/linking fails, upload an error log instead.
I wonder why is the program crashing if I try to start it from the launcher, but runs fine if I start vegastrike.exe directly.
.
.
.
-
- Developer
- Posts: 3980
- Joined: Fri Jan 03, 2003 4:53 am
- Location: Stanford, CA
- Contact:
I bet the launcher is trying to launch mission/explore_universe.mission
the real mission is now called explore_universe.mission (no mission path needed) this is due to the new changes in the filesystem that let you load paths from zip files instead
the real mission is now called explore_universe.mission (no mission path needed) this is due to the new changes in the filesystem that let you load paths from zip files instead
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
http://vegastrike.sourceforge.net/
-
- Merchant
- Posts: 48
- Joined: Sun Feb 08, 2004 12:10 am
- Contact:
Update: I now have a working script which updates the local CVS hierarchy, then compiles from it the debug binary and uploads it together with the compile log on http://ctamasd.dtdns.net:22/vs/
Next let me see if I can setup cron to update, build and upload automatically every 2-3 days.
.
Next let me see if I can setup cron to update, build and upload automatically every 2-3 days.
.
-
- Developer
- Posts: 3980
- Joined: Fri Jan 03, 2003 4:53 am
- Location: Stanford, CA
- Contact:
test it right now sinec I committed the fix lol
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
http://vegastrike.sourceforge.net/