Hi All,
Just wanted to check if anyone has prior experience in migrating C-Extensions to the latest Genero 3.10 version for Windows Environment.
There are many de-supported functions, for which i need to link the Informix ESQL/C library.
Now my source code uses contain 4 of the de-supported functions as below
risnull()
rsetnull()
dectoasc()
deccvasc()
I have followed the documentation as per below given link and tried to build the DLL file using the Informix CSDK, but still i get error that the above 4 functions are not resolved.
Below is the full command + error that i get.
esql -target:dll -o userextension.dll g2stubs.obj cfun4gl.obj c_tests.obj c_bits.obj c_command.obj c_csrname.obj c_direct.obj c_dlfcn.obj c_errno.obj c_getenv.obj c_getprg.obj c_getpsh.obj c_math.obj c_md5.obj c_memory.obj c_process.obj c_putenv.obj c_rawio.obj c_readfile.obj c_readin.obj c_regex.obj c_run.obj c_socket.obj c_statfile.obj c_stdio.obj c_string.obj c_time.obj c_vararg.obj c_writeout.obj j_getkey.obj j_is4js.obj w_errmsg.obj wh_gets.obj pcre_chartables.obj pcre_compile.obj pcre_config.obj pcre_dfa_exec.obj pcre_exec.obj pcre_fullinfo.obj pcre_get.obj pcre_globals.obj pcre_info.obj pcre_maketables.obj pcre_newline.obj pcre_ord2utf8.obj pcre_refcount.obj pcre_study.obj pcre_tables.obj pcre_try_flipped.obj pcre_ucd.obj pcre_valid_utf8.obj pcre_version.obj pcre_xclass.obj testcpp.obj fws2ext.obj C:\Censof\FourJs\fgl\3.10.20\lib\libfgl.lib
Microsoft (R) Incremental Linker Version 14.26.28806.0
Copyright (C) Microsoft Corporation. All rights reserved.
-DLL -OUT:userextension.dll -MAP -SUBSYSTEM:CONSOLE g2stubs.obj cfun4gl.obj
c_tests.obj c_bits.obj c_command.obj c_csrname.obj c_direct.obj c_dlfcn.obj
c_errno.obj c_getenv.obj c_getprg.obj c_getpsh.obj c_math.obj c_md5.obj
c_memory.obj c_process.obj c_putenv.obj c_rawio.obj c_readfile.obj
c_readin.obj c_regex.obj c_run.obj c_socket.obj c_statfile.obj c_stdio.obj
c_string.obj c_time.obj c_vararg.obj c_writeout.obj j_getkey.obj j_is4js.obj
w_errmsg.obj wh_gets.obj pcre_chartables.obj pcre_compile.obj pcre_config.obj
pcre_dfa_exec.obj pcre_exec.obj pcre_fullinfo.obj pcre_get.obj
pcre_globals.obj pcre_info.obj pcre_maketables.obj pcre_newline.obj
pcre_ord2utf8.obj pcre_refcount.obj pcre_study.obj pcre_tables.obj
pcre_try_flipped.obj pcre_ucd.obj pcre_valid_utf8.obj pcre_version.obj
pcre_xclass.obj testcpp.obj fws2ext.obj
C:\Censof\FourJs\fgl\3.10.20\lib\libfgl.lib
"C:\Program Files (x86)\Informix Client-SDK\\lib\isqlt09a.lib"
"C:\Program Files (x86)\Informix Client-SDK\\lib\igl4n304.lib"
"C:\Program Files (x86)\Informix Client-SDK\\lib\iglxn304.lib"
"C:\Program Files (x86)\Informix Client-SDK\\lib\igo4n304.lib" netapi32.lib
wsock32.lib user32.lib winmm.lib advapi32.lib
Creating library userextension.lib and object userextension.exp
c_math.obj : error LNK2019: unresolved external symbol risnull referenced in function c_srand
c_memory.obj : error LNK2001: unresolved external symbol risnull
c_socket.obj : error LNK2001: unresolved external symbol risnull
c_stdio.obj : error LNK2001: unresolved external symbol risnull
c_memory.obj : error LNK2019: unresolved external symbol deccvasc referenced in function decFromLong
c_memory.obj : error LNK2019: unresolved external symbol rsetnull referenced in function decFromPtr
c_stdio.obj : error LNK2001: unresolved external symbol rsetnull
c_memory.obj : error LNK2019: unresolved external symbol dectoasc referenced in function longFromDec
Currently it seem the esql uses only 4 of the libraries for linking, but seem like the de-supported functions are not found in any of these.
"C:\Program Files (x86)\Informix Client-SDK\\lib\isqlt09a.lib"
"C:\Program Files (x86)\Informix Client-SDK\\lib\igl4n304.lib"
"C:\Program Files (x86)\Informix Client-SDK\\lib\iglxn304.lib"
"C:\Program Files (x86)\Informix Client-SDK\\lib\igo4n304.lib"
Anyone has prior experience with this kind of issue?
Any help is highly appreciated,.
Thanks And Regards
Susobh Sugathan