D - linking
- Jesse Rudolph <Jesse_member pathlink.com> May 23 2003
- "Walter" <walter digitalmars.com> May 23 2003
- Jesse Rudolph <Jesse_member pathlink.com> May 23 2003
- "Walter" <walter digitalmars.com> May 23 2003
- Jesse <Jesse_member pathlink.com> May 24 2003
- Jesse <Jesse_member pathlink.com> May 24 2003
- "Walter" <walter digitalmars.com> May 24 2003
- Jesse Rudolph <Jesse_member pathlink.com> May 24 2003
- "Walter" <walter digitalmars.com> May 24 2003
hey, im having a really hard time linking anything successfully other than what dmd links in automatically. ive downloaded Pavel's winsock header, im importing it and compiling the d module (my own) to object code.. then when i link it with ws2_32.lib, from the package the winsock header is in, i still get: "C:\dmd\bin\dmd.exe" first.d -L ws2_32.lib C:\dmd\bin\..\..\dm\bin\link.exe first,,,ws2_32.lib+user32+kernel32/noi; OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved first.obj(first) ###----> Error 42: Symbol Undefined _recv 16 I trust its very possible, and im just doing something stupid, could someone please tell what, if anything, im doing wrong, and what i should be doing? Thanks, jesse
May 23 2003
Is _recv 16 in your ws2_32.lib? You can find out using grep or running lib on it and generating a .lst file. "Jesse Rudolph" <Jesse_member pathlink.com> wrote in message news:bam1dl$9u1$1 digitaldaemon.com...hey, im having a really hard time linking anything successfully other than what
links in automatically. ive downloaded Pavel's winsock header, im
and compiling the d module (my own) to object code.. then when i link it
ws2_32.lib, from the package the winsock header is in, i still get: "C:\dmd\bin\dmd.exe" first.d -L ws2_32.lib C:\dmd\bin\..\..\dm\bin\link.exe first,,,ws2_32.lib+user32+kernel32/noi; OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved first.obj(first) ###----> Error 42: Symbol Undefined _recv 16 I trust its very possible, and im just doing something stupid, could
please tell what, if anything, im doing wrong, and what i should be doing? Thanks, jesse
May 23 2003
yeah, its in there. Jesse In article <bamhg8$pcv$1 digitaldaemon.com>, Walter says...Is _recv 16 in your ws2_32.lib? You can find out using grep or running lib on it and generating a .lst file. "Jesse Rudolph" <Jesse_member pathlink.com> wrote in message news:bam1dl$9u1$1 digitaldaemon.com...hey, im having a really hard time linking anything successfully other than what
links in automatically. ive downloaded Pavel's winsock header, im
and compiling the d module (my own) to object code.. then when i link it
ws2_32.lib, from the package the winsock header is in, i still get: "C:\dmd\bin\dmd.exe" first.d -L ws2_32.lib C:\dmd\bin\..\..\dm\bin\link.exe first,,,ws2_32.lib+user32+kernel32/noi; OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved first.obj(first) ###----> Error 42: Symbol Undefined _recv 16 I trust its very possible, and im just doing something stupid, could
please tell what, if anything, im doing wrong, and what i should be doing? Thanks, jesse
May 23 2003
Try putting the lib file in your current directory. "Jesse Rudolph" <Jesse_member pathlink.com> wrote in message news:bamnoi$utl$1 digitaldaemon.com...yeah, its in there. Jesse In article <bamhg8$pcv$1 digitaldaemon.com>, Walter says...Is _recv 16 in your ws2_32.lib? You can find out using grep or running
on it and generating a .lst file. "Jesse Rudolph" <Jesse_member pathlink.com> wrote in message news:bam1dl$9u1$1 digitaldaemon.com...hey, im having a really hard time linking anything successfully other than
dmdlinks in automatically. ive downloaded Pavel's winsock header, im
and compiling the d module (my own) to object code.. then when i link
withws2_32.lib, from the package the winsock header is in, i still get: "C:\dmd\bin\dmd.exe" first.d -L ws2_32.lib C:\dmd\bin\..\..\dm\bin\link.exe
OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved first.obj(first) ###----> Error 42: Symbol Undefined _recv 16 I trust its very possible, and im just doing something stupid, could
please tell what, if anything, im doing wrong, and what i should be
Thanks, jesse
May 23 2003
i removed it from the dmc lib folder, and from the dmd lib folder, put it in my project directory, and got the same thing, i made a new copy with implib too(stab in the dark). also, it is generating an executable, even when the linker gives me that error, dunno if thats normal or not. i read something about not linking unreferenced code somewhere else on the board, maybe its something to do with that.. because the lib is 13k, and the executable produced is the same size with and without me linking in the lib. only other linker i have is borland c++ 5.5's and its not a proper substitution, from it i get: C:\d\projects\myfirstd>dmd first.d ws2_32.lib c:\dmd\bin\..\..\borland\bcc55\bin\ilink32.exe first,,,ws2_32.lib+user32+kernel3 2/noi; Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Fatal: Illegal EXTDEF fixup index in module 'first.d' --- errorlevel 2 which probably is expected, or atleast acceptable behavior. In article <bamvps$168l$1 digitaldaemon.com>, Walter says...Try putting the lib file in your current directory.
May 24 2003
wait wait, its in the lib output, but not as _recv 16, its just recv, is this wrong? and how would i make use if this? article <ban5ke$1ccu$1 digitaldaemon.com>, Jesse says...i removed it from the dmc lib folder, and from the dmd lib folder, put it in my project directory, and got the same thing, i made a new copy with implib too(stab in the dark). also, it is generating an executable, even when the linker gives me that error, dunno if thats normal or not. i read something about not linking unreferenced code somewhere else on the board, maybe its something to do with that.. because the lib is 13k, and the executable produced is the same size with and without me linking in the lib. only other linker i have is borland c++ 5.5's and its not a proper substitution, from it i get: C:\d\projects\myfirstd>dmd first.d ws2_32.lib c:\dmd\bin\..\..\borland\bcc55\bin\ilink32.exe first,,,ws2_32.lib+user32+kernel3 2/noi; Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Fatal: Illegal EXTDEF fixup index in module 'first.d' --- errorlevel 2 which probably is expected, or atleast acceptable behavior. In article <bamvps$168l$1 digitaldaemon.com>, Walter says...Try putting the lib file in your current directory.
May 24 2003
"Jesse" <Jesse_member pathlink.com> wrote in message news:ban6hr$1d7c$1 digitaldaemon.com...wait wait, its in the lib output, but not as _recv 16, its just recv, is
wrong?
Yes, it is wrong. The names have to match exactly.and how would i make use if this?
The calling conventions used on the function affect the name, and so are different.
May 24 2003
I understand, but these arent mangled, and D defaults to its own calling convention. I guess ill need to wrap it and write my own lib then right? its an asm calling convention i think, and D doesnt support that, that i know of. In article <ban7k7$1e36$1 digitaldaemon.com>, Walter says..."Jesse" <Jesse_member pathlink.com> wrote in message news:ban6hr$1d7c$1 digitaldaemon.com...wait wait, its in the lib output, but not as _recv 16, its just recv, is
wrong?
Yes, it is wrong. The names have to match exactly.and how would i make use if this?
The calling conventions used on the function affect the name, and so are different.
May 24 2003
The 16 calling convention is __stdcall for C, and extern (Windows) for D. "Jesse Rudolph" <Jesse_member pathlink.com> wrote in message news:bana24$1it8$1 digitaldaemon.com...I understand, but these arent mangled, and D defaults to its own calling convention. I guess ill need to wrap it and write my own lib then right?
asm calling convention i think, and D doesnt support that, that i know of. In article <ban7k7$1e36$1 digitaldaemon.com>, Walter says..."Jesse" <Jesse_member pathlink.com> wrote in message news:ban6hr$1d7c$1 digitaldaemon.com...wait wait, its in the lib output, but not as _recv 16, its just recv,
thiswrong?
Yes, it is wrong. The names have to match exactly.and how would i make use if this?
The calling conventions used on the function affect the name, and so are different.
May 24 2003








"Walter" <walter digitalmars.com>