10

My VSC2013 compiler wants me to link to libboost_system-vc120-mt-s-1_55.lib but that file doesn't exist in boost\stage\lib. I only have lib files ending in vc120-mt-1_55.lib and vc120-mt-gd-1_55.lib

I built boost with

bootstrap
b2

What do I need to do to get the lib above?

Edit: this worked

b2 variant=debug,release link=static runtime-link=static

A.B.
  • 15,364
  • 3
  • 61
  • 64
  • Try a "debug" build `libboost_system-vc120-mt-gd-1_55.lib` should be good to go – P0W Nov 19 '13 at 16:42
  • mt : Multi threading, s: Static, gd: ABI with debug version, http://stackoverflow.com/questions/6014517/whats-the-difference-between-mt-gd-and-mt-s-library – Yousf Nov 19 '13 at 16:43
  • @P0W A "debug" build of my program compiles just fine, but I need to get the "release" build working too. For that, the compiler insists on the aforementioned file. – A.B. Nov 19 '13 at 16:45
  • 1
    @A.B. add option `variant=debug,release` while building see `./b2 --help` for details – P0W Nov 19 '13 at 16:49
  • 3
    add `link=static runtime-link=static` to b2 line. – Igor R. Nov 19 '13 at 17:55
  • After running that command, you can use the Boost lib?? – Nguyễn Đức Tâm Dec 05 '19 at 09:56

1 Answers1

2

You should build static version of boost libraries. See this question How to build boost static libs?

NOTE: Libraries naming convention:

  • mt : Multi threading
  • s: Static
  • gd: ABI with debug version,

See this question to know what's the difference between mt-gd and mt-s library

Community
  • 1
  • 1
Yousf
  • 3,957
  • 3
  • 27
  • 37