Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what's the difference between mt-gd and mt-s library

Tags:

boost

In the boost, there are two types of libs, one is ending with mt-gd, the other is ending with mt-s. What's the difference between those two?

like image 704
user705414 Avatar asked May 16 '11 07:05

user705414


2 Answers

Read Boost Getting Started on Windows

  • mt : multi threaded
  • d : Add ABI tags, could be used with:
    • g : using debug versions of the standard and runtime support libraries.
    • s : linking statically to the standard and runtime support libraries.
    • and more
like image 106
O.C. Avatar answered Nov 10 '22 10:11

O.C.


As pointed out in the other answers and comments, these represent different configurations. With this answer, I'd like to give a more complete overview and link to the corresponding Visual Studio configurations:

  1. Boost's -mt-s corresponds to VS' Runtime Library setting /MT
  2. Boost's -mt-sgd corresponds to VS' Runtime Library setting /MTd
  3. Boost's -mt corresponds to VS' Runtime Library setting /MD
  4. Boost's -mt-gd corresponds to VS' Runtime Library setting /MDd

First and second can be built with ./b2 runtime-link=static threading=multi
Third and fourth can be built with ./b2 runtime-link=shared threading=multi

like image 22
j00hi Avatar answered Nov 10 '22 10:11

j00hi