Linking in advapi32.lib and netlib32.lib

Daniel Keep daniel.keep.lists at gmail.com
Tue Apr 18 02:22:16 PDT 2006


<sigh> Oh never mind.  This code just *doesn't* want to work...  Every
time I try to call a function in advapi32, it returns the Win32 error
code for "A dynamic link library (DLL) initialization routine failed.".

And then, even if I hardcode the user name to my own current user name,
it refuses to let me see my own home directory :(

Stupid Windows...

Thanks for the help anyway, John.  Think I'll play with embedding Python
for a while instead.  So far I've got it in a simple read-eval loop :P

	-- Daniel "hates win32"


Daniel Keep wrote:
> Thanks :)  I actually found the same program five minutes ago... whilst
> bumming around Wiki4D's comments on the official documentation whilst
> waiting for dsource.org to come back up.
> 
> If the vast majority of .libs out there are in COFF, why isn't
> coffimplib shipped with dmd?
> 
> 	-- Daniel
> 
> John C wrote:
>> Daniel Keep wrote:
>>> Hi, me again.
>>>
>>> I was having a poke around phobos to see if there was anything that
>>> needed filling out, and found that expandTilde was missing a Windows
>>> implementation.
>>>
>>> After a little trawling through MSDN, I've worked out what to do, but I
>>> can't for the life of me get the damn code to link.
>>>
>>> I know I need to link to advapi32.lib and netlib32.lib.  If I link to
>>> advapi32.lib, I then get "Error: A dynamic link library (DLL)
>>> initialization routine failed.".  Oddly enough, it compiled without
>>> specifying netlib32.lib; when I do specify it, it can't find it.
>>>
>>> Now, I'm assuming that the problem with advapi32.lib is that it's on
>>> COFF and not OMF (I can't actually remember where that copy of
>>> advapi32.lib came from >_<).  I've seen lots of references to
>>> coff2omf.exe, but the only one I can find costs $15 from DM.
>>>
>>> So:
>>>
>>> 1.  Is there a free tool to get dmd-compatible versions of advapi32.lib,
>>> netlib32.lib, (insert other win32 system libraries), or am I going to
>>> have to use std.loader?
>> coffimplib will convert Microsoft COFF libraries to OMF format.
>> http://www.digitalmars.com/ctg/coffimplib.html
>> ftp://ftp.digitalmars.com/coffimplib.zip
>>
>>> 2.  Is there anywhere I can download OMF versions of those libraries?
>>>
>>> P.S.  I just checked the Win32 api project, and they don't have lm.h
>>> converted (for stuff in netlib32), and no .lib files :(
>>>
>>> If I can get this working, I'll donate the windows implementation of
>>> expandTilde (if Walter wants it, of course :).
>>>
>>>     -- Daniel "why you no linky, damnit?"
>>>
> 

-- 

v1sw5+8Yhw5ln4+5pr6OFma8u6+7Lw4Tm6+7l6+7D
a2Xs3MSr2e4/6+7t4TNSMb6HTOp5en5g6RAHCP    http://hackerkey.com/



More information about the Digitalmars-d mailing list