Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7838 Discussions

Backwards compatibility of shared libraries



I have a legacy dll in my product which was built with the Intel 10.1 C++ compiler. It links against the following shared libraries at runtime
• libguide40.dll
• lidmmd.dll
• libmmdd.dll

Is it possible to run my product with the Intel 11.1 or 12.0 shared libraries?

Similar questions have been asked elsewhere in the forum before e.g.

Previous answers suggest that shared libraries are backwards compatible 'within limits'. But what are these limits?

For example, can I give my customers a gaurantee that the 11.1 or 12.0 shared libraries are sufficiently backwards compatible that they can run with these instead of the 10.1 version, presuming there are no unsatisfied dependencies in the symbol exports of the Intel DLL?

To clarify: sufficiently backwards compatible refers here only to ‘runs without causing instabilities or crashes’ and not to possible performance issues.

Thanks in advance,

0 Kudos
2 Replies
Valued Contributor II
>>...Is it possible to run my product with the Intel 11.1 or 12.0 shared libraries? Mark, Only intensive testing could certify your software for usage with newer Intel shared libraries. Also, it is Not clear what functions you're using ( too many unknowns ) and you need to clarify it.
0 Kudos
Black Belt

The 11.1 compiler libraries should have been tested for compatibility with 10.1 objects.  Beyond that, you take your chances, and would need to carry out your own tests.  libguide40 was provided in 10.1 for backward compatibility, and was dropped afterwards, so use of that library appears to be a weakness in your proposal.

0 Kudos