digitalmars.D.learn - using winsock2
- akcom (29/29) Nov 15 2006 Hello, I'm currently trying to build a project that uses winsock2 (from
- Don Clugston (6/41) Nov 16 2006 Do *NOT* include ws2_32.lib. It's old and very incomplete. To use the
- akcom (11/52) Nov 16 2006 Before I had been using implib on ws2_32.dll, now that I used coffimplib...
Hello, I'm currently trying to build a project that uses winsock2 (from 
http://www.prowiki.org/wiki4d/wiki.cgi?WindowsAPI) but I'm having some 
problems.
My code is very basic, something along the lines of:
import win32.core;
import win32.windows;
import win32.winsock2;
void main()
{
    WSADATA wsa;
    WSAStartup( MAKEWORD( 2, 2 ), &wsa );
    //nothing important
    WSACleanup();
}
I am building it using the following command:
dmd -IC:\dmd\src\other -version=Win32_Winsock2 main.d ws2_32.lib
the compiler gives the following complaints:
main.obj(main)
 Error 42: Symbol Undefined __init_5win328winsock27WSADATA
main.obj(main)
 Error 42: Symbol Undefined _D5win326windef8MAKEWORDFhhZt
main.obj(main)
 Error 42: Symbol Undefined WSASTARTUP
main.obj(main)
 Error 42: Symbol Undefined WSACLEANUP
if I add C:\dmd\src\other\win32\winsock2.d to the list of files to compile, 
I get no complaints about
 Error 42: Symbol Undefined _D5win326windef8MAKEWORDFhhZt
any ideas?
 Nov 15 2006
akcom wrote:
 Hello, I'm currently trying to build a project that uses winsock2 (from 
 http://www.prowiki.org/wiki4d/wiki.cgi?WindowsAPI) but I'm having some 
 problems.
 
 My code is very basic, something along the lines of:
 
 import win32.core;
 import win32.windows;
 import win32.winsock2;
 
 void main()
 {
     WSADATA wsa;
     WSAStartup( MAKEWORD( 2, 2 ), &wsa );
     //nothing important
     WSACleanup();
 }
 
 I am building it using the following command:
 dmd -IC:\dmd\src\other -version=Win32_Winsock2 main.d ws2_32.lib
 the compiler gives the following complaints:
 main.obj(main)
  Error 42: Symbol Undefined __init_5win328winsock27WSADATA
 main.obj(main)
  Error 42: Symbol Undefined _D5win326windef8MAKEWORDFhhZt
 main.obj(main)
  Error 42: Symbol Undefined WSASTARTUP
 main.obj(main)
  Error 42: Symbol Undefined WSACLEANUP
 
 if I add C:\dmd\src\other\win32\winsock2.d to the list of files to compile, 
 I get no complaints about
  Error 42: Symbol Undefined _D5win326windef8MAKEWORDFhhZt
 
 any ideas?
Do *NOT* include ws2_32.lib. It's old and very incomplete. To use the 
win32 headers, you need to download the Windows SDK from Microsoft and 
run coffimplib on the .lib files. No-one other than Walter is allowed to 
redistribute the lib files, and he hasn't done it yet, unfortunately. 
(This is something that should definitely be done before D1.0).
 Nov 16 2006
Before I had been using implib on ws2_32.dll, now that I used coffimplib, I get the following linking errors: OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved main.obj(main) Error 42: Symbol Undefined __init_5win328winsock27WSADATA main.obj(main) Error 42: Symbol Undefined WSASTARTUP --- errorlevel 2 "Don Clugston" <dac nospam.com.au> wrote in message news:ejhfuc$1eid$1 digitaldaemon.com...akcom wrote:Hello, I'm currently trying to build a project that uses winsock2 (from http://www.prowiki.org/wiki4d/wiki.cgi?WindowsAPI) but I'm having some problems. My code is very basic, something along the lines of: import win32.core; import win32.windows; import win32.winsock2; void main() { WSADATA wsa; WSAStartup( MAKEWORD( 2, 2 ), &wsa ); //nothing important WSACleanup(); } I am building it using the following command: dmd -IC:\dmd\src\other -version=Win32_Winsock2 main.d ws2_32.lib the compiler gives the following complaints: main.obj(main) Error 42: Symbol Undefined __init_5win328winsock27WSADATA main.obj(main) Error 42: Symbol Undefined _D5win326windef8MAKEWORDFhhZt main.obj(main) Error 42: Symbol Undefined WSASTARTUP main.obj(main) Error 42: Symbol Undefined WSACLEANUP if I add C:\dmd\src\other\win32\winsock2.d to the list of files to compile, I get no complaints about Error 42: Symbol Undefined _D5win326windef8MAKEWORDFhhZt any ideas?Do *NOT* include ws2_32.lib. It's old and very incomplete. To use the win32 headers, you need to download the Windows SDK from Microsoft and run coffimplib on the .lib files. No-one other than Walter is allowed to redistribute the lib files, and he hasn't done it yet, unfortunately. (This is something that should definitely be done before D1.0).
 Nov 16 2006








 
  
  
  "akcom" <CppCoder gmail.com>
 "akcom" <CppCoder gmail.com>