anand
anand

Reputation: 11349

error LNK2001: unresolved external symbol _CLSID_XYS

There is one idl file defined in microsoft sdk which is not available in VS2005. I am using some of the interfaces from that IDL.

Now this works fine on VS 2010 . I want to make it compile on VS2005.

I copied the header file to my project directory. But it is giving me compilation error.

When I looked into header file , the class id is defined in it as EXTERN_C const CLSID CLSID_Xyz.

Now it is defined as extern so it means it should be declared somewhere else in code.

So my question is just including .h file is sufficient or do I need to also include _i.c file.

Any suggestions

Upvotes: 5

Views: 3155

Answers (1)

sharptooth
sharptooth

Reputation: 170549

Once you examine that _i.c file you'll see the indeed the CLSID constants are defined there. So yes, you need to incorporate that .c file into you program - either by #including it into a .c or .cpp file or just by adding it to your project so that it compiles separately and then links into the final binary.

Upvotes: 4

Related Questions