Click here to Skip to main content
15,897,704 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello Experts,
Created a DLL using VC9.0 and trying to make use of that DLL in VC6.0/VC8.0. But it doesn't work as expected. Programmed in such a way that the compiler doesn't do any name decoration for the method names. I verified the DLL function names using "Dependency Walker" also.

I would like to know the step by step procedure, how to make sure that my DLL works in all target machines (VC6.0, VC7.0 & VC8.0)

Thanks,
Sankar.
Posted
Updated 10-Aug-11 18:20pm
v3

Hi KarstenK,
I am aware of linking a DLL statically and dynamically. But the problem here is it doesn't work in the following scenario,

1) Created a DLL using VC9.0 in such a way that it doesn't do any name decoration to function names.

2) Tried to make use of that DLL in VC8.0 or VC6.0. I tried both of ways of linking a DLL, But it doesn't work. The same DLL works fine with an application built using VC9.0.

Regards,
Sankar.
 
Share this answer
 
you need to link staticly and use undecorated names.

And use GetProcAddress to get a pointer to the function after LoadLibary.

Have a lot of fun... ;-)
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900