How do I fix link errors about missing functions when compiling DLLs on Windows?
The short answer is that this problem is often a side-effect of the method used to maintain compatibility across various versions of the DLL libraries. The simplest way to solve this problem is to delete the files with the extension ".dtf" and then completely rebuild the DLLs. This should solve the problem.
Why does this work?
The long answer is that PWLib and OpenH323 attempt to preserve the ordinals used for DLL entry points across different versions of the libraries. To do this, the MergeSym program compares the function signatures in the DLLs to the entry points listed in the .dtf files, and makes sure that the final file ends up with compatible ordinals. The default .dtf files are created on a system with all optional features enabled, which means that if they are used on a system with less features, there are unresolved symbols left over.