OpenMS / contrib

Automated CMake build scripts for the OpenMS contrib libraries
Other
0 stars 21 forks source link

Add proper CoinOR debug libs for VisualStudio 2017 #83

Closed cbielow closed 5 years ago

cbielow commented 5 years ago

the old version would give linker errors when linking openmsd.lib, complaining about conflicting definitions/symbols: _ITERATOR_DEBUG_LEVEL: value 0 does not match value 2 in ... and Error in Runtime library: The value MD_DynamicRelease does not match MDd_DynamicDebug. The reason is simply that we link the same CoinOR.lib for both debug and release builds. The CoinOr lib is however build in release mode, and thus does not work when linked against a debug build of OpenMS.

The solution is to append a d to the debug CoinOR libraries so they can exist side by side and are properly picked up during OpenMS Cmake...

fixes https://github.com/OpenMS/OpenMS/issues/3833

jpfeuffer commented 5 years ago

Hmm, can we remove or reduce the version of the Windows SDK needed?

cbielow commented 5 years ago

I had the same problem actually. Setting any other (lower or higher) version results in an error message. The only way I found was to install the required SDK version (or edit the Solution).

jpfeuffer commented 5 years ago

Ok, I wrote the IT to update.

cbielow commented 5 years ago

Maybe https://github.com/OpenMS/contrib/pull/83/commits/6619ef0853a5c9b8e5545d2978550e6f956b37e4 works as well. I've modified the vcxproj files (like a dozen or so) to use whatever is written as %WindowsSDKVersion% environment. This seems to work just fine. The environment needs to be set of course, but that seems to be the case for all systems I checked.

cbielow commented 5 years ago

rebuild jenkins

jpfeuffer commented 5 years ago

cool looks good. just a little more. coinor through.