- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It looks as if you have "Mixed C Library Syndrome". Your Release application is trying to link to both static and DLL forms of the run-time library. You need to make sure that the settings for Use Runtime Library match between this project and any of the prebuilt libraries you're linking against. I note that some of them have Debug in their paths, making me suspect they are debug builds. If any of these libraries are built using C/C++, then it is extra important than the library settings match (in C/C++ this is under Code Generation).
I also noted that your release configuration has disabled optimization - was that deliberate?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When you change from 32-bit to 64-bit, the MKL libraries are grouped into LP64 and ILP64 libraries, depending on whether integer arguments to MKL routines are 4-byte or 8-byte integers, respectively. You cannot simply change "x86" to "x64" or "ia32" to "intel64" in library names and command line options.
You will find it useful to use the MKL Link Line Advisor at https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor to tell you which MKL libraries to use.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
First thing I would do is go to Tools > Options > Intel Compilers and Tools > Visual Fortran > Compilers > x64 tab, and click Reset. Then try a build. That it is also complaining about the Fortran support libraries suggests more than MKL issues.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In the release configuration, set the project property Linker > General > Show Progress to "Show all progress messages". Do a full rebuild of the project. Create a zip of the buildlog.htm from the Release folder and attach the zip to a reply here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It looks as if you have "Mixed C Library Syndrome". Your Release application is trying to link to both static and DLL forms of the run-time library. You need to make sure that the settings for Use Runtime Library match between this project and any of the prebuilt libraries you're linking against. I note that some of them have Debug in their paths, making me suspect they are debug builds. If any of these libraries are built using C/C++, then it is extra important than the library settings match (in C/C++ this is under Code Generation).
I also noted that your release configuration has disabled optimization - was that deliberate?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
One other thing to check is in the Configuration Manager (Pull Down the x64 or Release) while in Release x64, assure that x64 is selected for all projects and assure that the Build check box is checked.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve Lionel (Ret.) (Blackbelt) wrote:It looks as if you have "Mixed C Library Syndrome". Your Release application is trying to link to both static and DLL forms of the run-time library. You need to make sure that the settings for Use Runtime Library match between this project and any of the prebuilt libraries you're linking against. I note that some of them have Debug in their paths, making me suspect they are debug builds. If any of these libraries are built using C/C++, then it is extra important than the library settings match (in C/C++ this is under Code Generation).
I also noted that your release configuration has disabled optimization - was that deliberate?
Thank you very much! After some trial and error I found that one of our C++ libraries has been the problem. I'll try to recompile it with the right settings now.
Optimizations have been deactivated on purpose because we found that they impact our calculation results. This is most likely caused by some legacy code from the 1980s that doesn't hold up to modern programming standards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wurst, Andreas wrote:
Optimizations have been deactivated on purpose because we found that they impact our calculation results. This is most likely caused by some legacy code from the 1980s that doesn't hold up to modern programming standards.
That is a more troublesome bug than the library mismatch problems reported in this thread. The root cause may be (i) one or more bugs in your code, or (ii) compiler optimizer-phase bugs. I estimate the most likely cause to item of type (i). Please consider putting together a bug-reproducer and submitting it here or to Intel Support.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page