linking library problem

I am using Borland C++ 5.02 and have problem to use uuid.lib
At link time it complains "Some invalid record in library 0x21?"
Any ideas?
LVL 2
serg111Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

CayceCommented:
Your uuid.lib must be a lib file for VisualC, you need to use the implib tool from Borland and create a correct one.
0
serg111Author Commented:
I know that I can use implib.exe to create uuid.lib from uuid.dll
but I cant find uuid.dll online.
Do you know where can I get one?
0
cwwkieCommented:
If you have c++builder too, you can use the uuid.lib from there.
0
Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

serg111Author Commented:
I dont have it
0
cwwkieCommented:
> I know that I can use implib.exe to create uuid.lib from uuid.dll
> but I cant find uuid.dll online.

uuid.lib is a static library, not a import library, so there is no uuid.dll

You might use this to create your own uuid.lib: http://svn.dsource.org/projects/bindings/trunk/uuid_obj.d
0
serg111Author Commented:
This file include

** Batch file to create uuid.lib **
dmd -c uuid_obj.d
lib -c uuid.lib uuid_obj.obj

There is no dmd under Borland 5.02

How can I create library?
0
cwwkieCommented:
and the file is not c either. So you have to convert it.

For example the line
    const IID _DBBMKGUID = {0xB04B30F6, 0x88D1, 0xCD11, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]};
would be something like:
    DEFINE_GUID(_DBBMKGUID, 0xB04B30F6, 0x88D1, 0xCD11, 0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6);

Instead of linking the uuid.lib file, you can also include the converted c++ file in your project.
0
serg111Author Commented:
Ok, now I am using it like this:

DEFINE_GUID(IID_IHTMLDocument2, 0x25442C33, 0xCB26, 0xD011, 0xB4, 0x83, 0x00, 0xC0, 0x4F, 0xD9, 0x01, 0x19);
m_hResult = m_pDispatch->QueryInterface(IID_IHTMLDocument2, (void**)&m_pHtmlDoc);

It does not complains about wrong library but gives linker error:
"Unresolved external _IID_IHTMLDocument2..."


It looks like microsoft uuid.lib contains something also beside GUID definition...
0
cwwkieCommented:
see http://www.michaelmoser.org/tip12.htm and http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q130869

There are two versions of the DEFINE_GUID macro. You need the other version. You need to include initguid.h.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Editors IDEs

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.