Hello,

I'm using Microsoft Visual Studio 8.1 (2005) to compile and link a library and my application that uses this library. Linking complains that a symbol can not be found. I looked at the lib file and this is what happens:

dumpReadable@OGRGeometry@@UBEXPAU_iobuf@@PBD@Z - Lib has this
dumpReadable@OGRGeometry@@UAEXPAU_iobuf@@PBD@Z - My application requires this
___________________________^ the difference in one character

The have make file for the library, but I do not know what switch I should change to create proper symbols. Any suggestions?

Thanks.

Recommended Answers

All 2 Replies

Its not in the makefile, but a difference in the code. Post the function header in the lib. the prototype in the header file (if you have one), and in the function call in the application program. Could be something as simple as const in one and not in the other.

commented: Very helpful +1

Thanks, Ancient Dragon! I did not think of it. I looked at the header files and it turns out the library was using older header file for compilation, while my application was using newer.
Thanks a lot.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.