www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - IUnknown Error

reply Heinz <malagana15 yahoo.es> writes:
Hi,

Why do i get this error when compiling a specific dll of mine?


C:\Documents and Settings\Administrador\Escritorio\Olave\d3dlib>dmd -O -release
-ofd3dlib.dll -I..\support -I..\engine d3dlib.d d3ddriver.d gfxdriver.d d3d9d.d
engine.lib gcstub.obj d3dlib.def
OPTLINK (R) for Win32  Release 8.00.1
Copyright (C) Digital Mars 1989-2004  All rights reserved.
D:\Dev\dmd\bin\..\lib\phobos.lib(com)
 Error 42: Symbol Undefined _IID_IUnknown
--- errorlevel 1

Thanx
Mar 13 2008
parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Heinz" <malagana15 yahoo.es> wrote in message 
news:frcdcj$1u76$1 digitalmars.com...
 Hi,

 Why do i get this error when compiling a specific dll of mine?


 C:\Documents and 
 Settings\Administrador\Escritorio\Olave\d3dlib>dmd -O -release
 -ofd3dlib.dll -I..\support -I..\engine d3dlib.d d3ddriver.d gfxdriver.d 
 d3d9d.d
 engine.lib gcstub.obj d3dlib.def
 OPTLINK (R) for Win32  Release 8.00.1
 Copyright (C) Digital Mars 1989-2004  All rights reserved.
 D:\Dev\dmd\bin\..\lib\phobos.lib(com)
 Error 42: Symbol Undefined _IID_IUnknown
 --- errorlevel 1

 Thanx

You have to link to UUID.lib when using most COM stuff (DirectX included). Just put it on the commandline and it should link it in.
Mar 13 2008
parent reply Heinz <malagana15 yahoo.es> writes:
Jarrett Billingsley Wrote:

 "Heinz" <malagana15 yahoo.es> wrote in message 
 news:frcdcj$1u76$1 digitalmars.com...
 Hi,

 Why do i get this error when compiling a specific dll of mine?


 C:\Documents and 
 Settings\Administrador\Escritorio\Olave\d3dlib>dmd -O -release
 -ofd3dlib.dll -I..\support -I..\engine d3dlib.d d3ddriver.d gfxdriver.d 
 d3d9d.d
 engine.lib gcstub.obj d3dlib.def
 OPTLINK (R) for Win32  Release 8.00.1
 Copyright (C) Digital Mars 1989-2004  All rights reserved.
 D:\Dev\dmd\bin\..\lib\phobos.lib(com)
 Error 42: Symbol Undefined _IID_IUnknown
 --- errorlevel 1

 Thanx

You have to link to UUID.lib when using most COM stuff (DirectX included). Just put it on the commandline and it should link it in.

Hahahaha...cool man, it worked just fine! What uuid.lib contains, why is it needed for com and directx? I just want to understand the problem.
Mar 16 2008
parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Heinz" <malagana15 yahoo.es> wrote in message 
news:frkebg$2omi$1 digitalmars.com...
 Jarrett Billingsley Wrote:

 Hahahaha...cool man, it worked just fine!
 What uuid.lib contains, why is it needed for com and directx? I just want 
 to understand the problem.

It contains all the GUID definitions (you know, those insanely long hexadecimal numbers) for a large number of COM interfaces. It's how Windows uniquely identifies those interfaces. It's a rather extensive list so it's easier to keep them all in a library than to have a gigantic header file filled with them.
Mar 16 2008