boost lib build configuration variations

2020-05-16 01:47发布

I am new to boost - can you please tell me what are the difference b/w the following variations of the boost lib and which one do I need to link to in which case?

  • libboost_unit_test_framework-vc80-1_35.lib
  • libboost_unit_test_framework-vc80-gd-1_35.lib
  • libboost_unit_test_framework-vc80-mt-1_35.lib
  • libboost_unit_test_framework-vc80-mt-gd-1_35.lib
  • libboost_unit_test_framework-vc80-mt-s-1_35.lib
  • libboost_unit_test_framework-vc80-mt-sgd-1_35.lib
  • libboost_unit_test_framework-vc80-s-1_35.lib
  • libboost_unit_test_framework-vc80-sgd-1_35.lib

Well, what I actually after is to understand the whole taxonomy of the _gd, mt, sgd things.

标签: c++ boost linker
3条回答
兄弟一词,经得起流年.
2楼-- · 2020-05-16 02:21

I use Boost on Linux, but here's what I think these are from the Linux naming.

  • mt Multithreaded/thread-safe
  • s Static library
  • gd With debug symbols

On Linux gd seems to be just d, so perhaps maybe the g means something else in additions to "with debug symbols".

查看更多
来,给爷笑一个
3楼-- · 2020-05-16 02:24

Here is the link to the docs for full info on what the many suffixes means:

windows: http://www.boost.org/doc/libs/1_40_0/more/getting_started/windows.html#library-naming

linux: http://www.boost.org/doc/libs/1_40_0/more/getting_started/unix-variants.html#library-naming

Although it seems it's the same anyway so either link should be good.

查看更多
家丑人穷心不美
4楼-- · 2020-05-16 02:27
[lib][boost_unit_test_framework]-[vc80]-[mt]-[sgd]-[1_35][.lib]
  • lib: On Linux all files are prefixed with this
    • On Windows this prefix is not on "import libraries and DLLs"
  • boost_unit_test_framework: The library name beginning with boost_
  • vc80: Toolset and version used to build this library
  • mt: Indicates multithreading support
  • sgd: Each letter indicates something
    • s: Static linking
    • g: Linked to debug libraries
    • y: "using a special debug build of Python"
    • d: Boost debug
    • p: Uses "the STLPort standard library"
    • n: using STLPort's deprecated "native iostreams" feature
  • 1_35: Boost version
  • .lib: Extension varies based on convention in operating system

Based on this (Thanks @n1ckp)

Also take a look at the list of Boost 1.34.0 binaries available for download for some examples.

查看更多
登录 后发表回答