HP OpenVMS Systems

ask the wizard
Content starts here

Linking and external symbol naming (case)?

» close window

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)?
 
Thank you.
David
 
Product: CXX-V
 
 


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.
 

answer written or last revised on ( 15-DEC-2000 )

» close window