[scilab-Users] gateway fortran cpp

Benoit Goepfert goepfert.benoit at gmail.com
Wed Jul 20 09:06:51 CEST 2011


Hello,

I'm currently creating a toolbox that contains c++ and fortran files. As I
handle c++ objects, it's more convenient for me to use c++ files in my
gateway. Thus, for the compilation in scilab, I just need a header where i
summerize all my functions as follows :

extern "C"{
int func1(char *fname)
int func2(char *fname)
...
} "

When those functions "func1", "func2" are linked to the c++ original code,
the compilation in scilab works perfectly (builder and loader).
However, when those functions are linked to the fortran original code (which
means that in my gateway file, I call a fortran function with "F2C"), the
compilation in scilab doesn't work and i get the following error while I'm
trying to execute the loader (the builder passes) :

addinter(libsplspcgateway_path + filesep() + 'libsplspcgateway' +
getdynlibext(), 'libsplspcgateway', list_functions);

!--error 236
addinter: The shared archive was not loaded:
/home/.../sci_gateway/cpp//libsplspcgateway.so: undefined symbol: BAGMRES_

(where BAGMRES is the fortran function that I call with F2C in my gateway
file in c++).

As I already succeeded to use fortran functions in gateway files in c, my
question is the following :
Is it forbidden to call a fortran file in a gateway file in c++ and must I
use inevitably a gateway file in c?
If on contrary it's possible, where could the problem come from?

I hope to be clear and I thank you for your help.
Best regards,

-- 
Benoit Goepfert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20110720/173c1129/attachment.htm>


More information about the users mailing list