You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To reduce the risk of loosing some test results over time, here is a copy of what I wrote on #506:
It looks like WINDOWS_EXPORT_ALL_SYMBOLS doesn't work with the two-step creation of shared libraries in SUNDIALS. (I wasn't aware of that.)
IIUC, an object library is created from the source files. And in a second step a shared library is created from that object library.
It looks like WINDOWS_EXPORT_ALL_SYMBOLS only exports symbols from the object files corresponding to a shared library (not from an object library).
Alternatively, symbols could be exported from a Fortran library using ATTRIBUTES.
I tried to add dllexport attributes manually to some of the functions and subroutines in libsundials_fcore_mod like this:
With these added, I can see that they are exported from the .dll.
But iiuc, these attributes are compiler-specific. (I was using gfortran for the test.)
Intel compilers would require, e.g., !DEC$ ATTRIBUTES DLLEXPORT :: FSUNAdaptController_Destroy (note: DEC instead of GCC).
What is the motivation for the two step process to create shared libraries?
See https://github.com/LLNL/sundials/actions/runs/9586239666/job/26433779371?pr=506 and the discussion on #506.
The text was updated successfully, but these errors were encountered: