I have currently a dll (compiled from Fortran Source code with Visual Studio in Windows), which I call from Matlab. Now I want to run the same analysis on a linux machine. I managed so far compiling the code using the command (using intel 11.1 compiler)
ifort -shared -fpic -o ST2CR.so -O3 SourceCodeDll/*.f90
However when I load the ST2CR.so library in matlab, it can't upload the functions which I need (although it loads the library in matlab without error, it complains that it was not able to find the functions which are speficied in header file). Normally in windows, I export these functions as follows:
!DEC$ ATTRIBUTES DLLEXPORT, ALIAS: 'DRILL_ONE_STEP' :: DRILL_ONE_STEP
My question is: what is the equivalent of the command above for linux ? I have looked for this in the web, which led me to things like visibility setting, etc. I tried various things, however couldn't understand properly how things work. Am I supposed to export the selected functions as I do in windows or are things handled differently in linux ? or do I need a different header file ? (just as a side note: I have a big code consisting many routines. However within Matlab, I only need to call four of these functions. Therefore I have these DLLEXPORT commands only in four routines).
Thank you for your replies in advance,