我有静态或动态增强库吗?

sno*_*noz 11 c++ boost

我跑了 bjam.exe --build-dir="C:\build-boost" --build-type=minimal msvc stage

现在我有了带有这些头文件的库.lib

libboost_serialization-vc100-mt
libboost_serialization-vc100-mt-1_45
libboost_serialization-vc100-mt-gd
libboost_serialization-vc100-mt-gd-1_45
Run Code Online (Sandbox Code Playgroud)

我相信这些应该是用于调试和发布版本的静态库.当我用Multi-threaded Debug (/MTd)它运行编译器时给出一个错误LNK1104: cannot open file 'libboost_serialization-vc100-mt-sgd-1_45.lib' 它正在寻找一个-sgd

我哪里错了?

eha*_*ght 23

令人困惑的是,有两个"静态"选项用于构建使用MSVC的提升.

B2.exe采用选项link=static告诉boost您要静态链接IT.如果使用/ MT或/ MTd编译VC项目,则还需要使用该runtime-link=static选项告诉boost您将静态链接到VC运行时库.

它是runtime-link=static将-s放在.lib名称中的第二个.

我建设助推器的命令行是

b2.exe --toolset=msvc variant=release link=static threading=multi runtime-link=static stage
Run Code Online (Sandbox Code Playgroud)


Bil*_*eal 4

你有动态版本。静态的由名称中的“s”分隔。确保您link=staticbjam命令行上指定。如果没有,您将不得不重建以制作静态版本。