Runtime library questions/issues

Runtime library questions/issues

I was about to ask a question regarding x64 runtime libraries, but discovered some other issues with my projects:

1. Documentation for v14 does not include /libs:static as a possible compiler switch, even though VS uses this.

2. I am building DLL's for use with Excel (i.e. not with other Fortran Apps), so to avoid needing to distribute runtime libraries, I link to the Multithreaded (static) version. I have just noticed that my debug configuration is using the Multithreaded DLL libraries while my release configuration uses the static version. Apart from not properly testing what I'm releasing, are there any likely issues with using the different versions?

3. When I migrate to x64, can I continue to use the static version of the runtime libraries? Are there any other distribution issues I need to become acquainted with?

Thanks,

David

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

ifort -help does show /libs:static as an option.  It's the default for release mode.  The option doesn't apply to the OpenMP library.

There is the option /MTd to request specifically static debug libraries. 

I could imagine marginal cases where dynamic debug libraries are a more accurate representation of non-debug static linked behavior, but normally, I suppose it would be a compiler or library bug if run-time behavior depended on static vs. dynamic libraries. I'd be just as concerned about whether debug vs. release libraries make a difference and again consider differences to be library bugs.

I don't know of any situation where choosing static libraries, when they work in 32-bit mode, wouldn't work in x64.

It is easy to overlook, when setting project options, that the default is to apply the change to the current configuration only. If you want a change to apply to all configurations, you need to set that in the dropdown at the upper left of the property page.

The default changed in compiler version 14. It is now Multithreaded DLL for all projects, echoing what MSVC has used for years.

Retired 12/31/2016

Leave a Comment

Please sign in to add a comment. Not a member? Join today