3

For our project we build BOOST for Windows using the options --layout=system available for b2.

The dll produced will not carry any information and they will be plain vanilla dll names.

Example: boost_iostream.dll is produced instead of boost_iostream-vc141-mt-gd-1_65_1.dll.

Now find_package(Bost 1.65.1 REQUIRED COMPONENTS iostream) does not fail but when I try to link my executable using Boost::iostream cmake tells me that it cannot find file boost_iostream-vc141-mt-gd-1_65_1.dll

Is there a way to tell cmake that the dll does not carry versioning information as expected but are plain names?

Is Boost::iostream the right variable or there is another one specific for non versioned dll?

I cannot change the way boost is build unfortunately and I'd like to avoid using find_library for all libs.

Abruzzo Forte e Gentile
  • 14,423
  • 28
  • 99
  • 173
  • What's your CMake version? https://stackoverflow.com/a/42124857/2799037 – usr1234567 May 24 '18 at 20:55
  • I am running cmake 3.11 I took a look at the FindBoost Module..for Windows it really expect the toolset version (-vc141-) depending on the compiler version. Unless I missed something there is no way to find the dll with different naming scheme. – Abruzzo Forte e Gentile May 25 '18 at 08:29
  • @AbruzzoForteeGentile Hello, I am facing the same problem; did you solve this issue? – piwi Feb 07 '20 at 14:44
  • @piwi Nope I haven't sorted out and i can't remember what I have done in that circumstance (as I am writing I don't have anymore with me the project I was working back then ) – Abruzzo Forte e Gentile Feb 12 '20 at 09:12

0 Answers0