pragma(lib,...)
    Lionello Lunesu 
    lio at remove.lunesu.com
       
    Mon Mar 13 07:32:11 PST 2006
    
    
  
Hi,
I'm having some problems with "pragma(lib,..)". I have a 1 module D program, 
main.d, to test a socket connection. It imports std.socket, whcih used to 
work just fine, without the need to provide a lib. With DMD 0.149 however 
(don't know when this issue was introduced) it won't find the winsock 
imports:
 D:\llunesu>dmd main
 C:\dmd\bin\..\..\dm\bin\link.exe main,,,user32+kernel32/noi;
 OPTLINK (R) for Win32  Release 7.50B1
 Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved
 C:\dmd\bin\..\lib\phobos.lib(socket)
  Error 42: Symbol Undefined _getprotobyname at 4
<and many more>
When I provide the lib name on the command line it works fine:
 D:\llunesu>dmd main WSOCK32.LIB
 C:\dmd\bin\..\..\dm\bin\link.exe main,,,WSOCK32.LIB+user32+kernel32/noi;
But when I specifiy pragma(lib,"WSOCK32.LIB") (which works just fine in 
other projects) I get:
 D:\llunesu>dmd main
 C:\dmd\bin\..\..\dm\bin\link.exe main,,,user32+kernel32/noi;
 OPTLINK (R) for Win32  Release 7.50B1
 Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved
OPTLINK : Warning 23: No Stack
main.obj(main)
 Error 42: Symbol Undefined __init_11TypeInfo_Aa
main.obj(main)
 Error 42: Symbol Undefined __nullext
main.obj(main)
 Error 42: Symbol Undefined __ModuleInfo_3std5stdio
main.obj(main)
 Error 42: Symbol Undefined __ModuleInfo_3std7cstream
main.obj(main)
 Error 42: Symbol Undefined __ModuleInfo_3std6socket
OPTLINK : Warning 134: No Start Address
--- errorlevel 5
Any idea?
L. 
    
    
More information about the Digitalmars-d-learn
mailing list