pragma, dlls, etc
Kirk McDonald
kirklin.mcdonald at gmail.com
Wed Feb 7 00:43:00 PST 2007
Robby wrote:
> Mike Parker wrote:
>
>> Robby wrote:
>>
>>> I've spent the past couple of hours beating my head around this so I
>>> thought I would see if I can get some help.
>>>
>>> Considering the following directory structure:
>>>
>>> a/
>>> b/
>>> compile.bat
>>> c/
>>> d/
>>> my.dll
>>> main.d
>>>
>>> compile.bat:
>>>
>>> dmd -run b/c/main.d -I../b -I../b/c/d/
>>> pause
>>>
>>> in main.d I have
>>> pragma (lib, r"b/c/d/my.dll");
>>>
>>> and I get Not a valid library file
>>>
>>> Obviously there is, but is there something I'm missing?
>>
>>
>> You need to create an import library (my.lib) and link to that. DMD
>> doesn't link directly to DLLs. In fact, most C and C++ compilers do
>> not do this on Windows, either. MingW is the only one I know of that
>> accepts DLLs on the command line in place of library archives.
>
>
> I've ran implib.exe against it and generated a my.lib file which I've
> put into the same directory as my.dll, and when I use:
> pragma (lib, r"b/c/d/my.lib");
> I get an alert box stating "This application has failed to start because
> my.dll was not found"
>
> Sorry, that was in my draft.. didn't make it into the post though
>
>
Windows expects to find the DLL in the same directory as the .exe, or in
your Windows\system32 directory.
--
Kirk McDonald
Pyd: Wrapping Python with D
http://pyd.dsource.org
More information about the Digitalmars-d-learn
mailing list