1

I have inherited a C++ project that uses Boost. It started life being compiled in VS version 120 using Boost 1_55. I am now using V140 so have upgraded to Boost 1_63.

I am working in Release and x64, the linked directory looks like this: enter image description here

Yet, my error looks like this:

enter image description here

I have been through various previous threads:

unresolved symbols from boost filesystem

Linker errors when using boost::filesystem?

Linker errors - used 32bit CMake generator with 64bit boost

I 'appear' to comply to all of the above (and more when I have Googled), but I cannot get it to build ... I am really stumped for the last few days ...

I realise this could be a complex problem, and I cannot provide a minimal testable code.

Any pointers would be welcome.

tomdertech
  • 497
  • 1
  • 9
  • 27
  • 1
    Make sure all of your binaries were compiled with the same version of Visual Studio. Also you may want to delete the build folder completely (keeping your source tree untouched) and regenerate a new build folder using CMake. – drescherjm Mar 31 '17 at 21:11
  • Don't put mixed-version libraries for Boost in the same directory (or really, or any library you choose to use). Clean out the directory and begin the boost build process again. – Xirema Mar 31 '17 at 21:19
  • @drescherjm I had to download pre-built binaries. For whatever reason, the build process would not detected 64 bit even when forcing the build arguments like this `b2 --build-dir=build/x64 address-model=64 threading=multi --build-type=complete --stagedir=./stage/x64 --toolset=msvc-14.0 -j 12`. With the correct binaries for the correct platform the problem was resolved. If you make this an answer then I will accept it. Thanks again for the pointer – tomdertech Apr 02 '17 at 10:39

0 Answers0