The Question is:
This is a question about compiling and linking a C++ program with two sets of
library objects. The library objects are from two different firms. We'll
call the libraries: "my" and "vendor".
When I use the "/name=as_is" argument with the "cxx" program, I get a linker
error that the symbols in the "my" library are missing. When I use the
"/name=uppercase" (default) argument, I get a error that the "vendor" library
symbols are missing.
Do I have any options to get my program to compile and link cleanly (besides
recompiling the library objects)?
The Answer is :
It appears that your "my" library and the "vendor" library have been
built differently, specifically involving differing and incompatible
assumptions around the external symbol name references used.
If it is not possible to recompile the library object code involved,
it may be possible to write jacket routines (or a set of shareable
images) which resolve the casing differences.
For details on C++ name mangling and for a pointer to the shareable
image cookbook, please see the OpenVMS FAQ.