- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have created a Fortran DLL to be called in VB.net with two different sets of compiler options:
DLL compilation option #1
/nologo /O2 /iface:cvf /libs:static /threads /Qm64 /c
DLL compilation option #2
/nologo /O2 /iface:cref /libs:dll /threads /Qm64 /c
However, the compiler directives are the same in each case:
subroutine mydll(x, y)
!DEC$ ATTRIBUTES DLLEXPORT, STDCALL, REFERENCE, ALIAS : 'mydll' :: mydll
real(kind =
y = 2*x
end subroutine mydll
When tested in VB.net, both dlls work as expected. In this case:
1. Do the compiler options matter given that the compiler directives are the same?
2. Eventually, the VB.net project will also be a dll distributed along with the Fortran dll. Will the /libs:static be preferred so as not to require the external users to have oneAPI and other prerequisite software installed on their machines?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I will note that in the Fortran code above kind = 8 is not being accepted in the post even after repeatedly editing it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The directives will override the compiler options.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This forum has the annoying issue of trying to create emoji out of certain sequences, and then not displaying the emoji. Sometimes you can bypass this by putting spaces before the parenthesis.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page