32 bit to 64 bit migration...
Posted in 2004
Topics: Connectivity: ESQL/C, 4GL & Embedded SQL, Migration, Import/Export & Data Conversion
Hi All, 1) We are working on an migration of C++ code from 32 bit to 64 bit. The aCC compiler is HP ANSI C++ B3910B A.03.39. We need to include lib++.a library but it is 32 bit in /opt/aCC/lib. The /opt/aCC/lib/pa20_64 directory has only libdemangle.a but no lib++.a. Please let me know if there is any equivalent 64 bit library for lib++.a... Or which version of aCC compiler has this??? 2) For the same migration from 32 to 64 bit, in an ESQL/C it has function calls to "popquote", "popshort", "popint", "retint". In 32 bit compiler environment it gets compiled succesfully, but when the 64 bit compilation is done it is giving an "Unsatisfied symbol" for the above function. Please let me know how to resolve the above 2 issues.... Thanks in advance. Regards, Vijay Kumar sending to informix-list
Vijay Kumar wrote: > 1) We are working on an migration of C++ code from 32 bit to 64 bit. The > aCC compiler is HP ANSI C++ B3910B A.03.39. We need to include lib++.a > library but it is 32 bit in /opt/aCC/lib. The /opt/aCC/lib/pa20_64 directory > has only libdemangle.a but no lib++.a. Please let me know if there is any > equivalent 64 bit library for lib++.a... Or which version of aCC compiler > has this??? That sounds like an HP-UX issue - basically, you need the 64-bit C++ compiler and support libraries. > 2) For the same migration from 32 to 64 bit, in an ESQL/C it has function > calls to "popquote", "popshort", "popint", "retint". In 32 bit compiler > environment it gets compiled succesfully, but when the 64 bit compilation is > done it is giving an "Unsatisfied symbol" for the above function. > Please let me know how to resolve the above 2 issues.... Thanks in advance. Those functions are I4GL interface functions. They are provided in the I4GL library - 64-bit if you have I4GL 7.3x.FCy. Note that from 7.31 up, they are actually macros for a longer function name - the fglsys.h header deals with that. The other possible problem would be that the fglsys.h header might, or might not, protect itself with: #ifdef __cplusplus extern "C" { #endif ... #ifdef __cplusplus } #endif If it doesn't, you should embed your use of the header within an extern "C" scope -- put #include "fglsys.h" in place of the three dots above. -- Jonathan Leffler #include <disclaimer.h> Email: jleffler@earthlink.net, jleffler@us.ibm.com Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/