构建用于静态链接的Boost(MinGW)

Ada*_*dam 29 c++ linker boost build bjam

我正在使用bjam为MinGW构建Boost(我正在使用System和FileSystem):

bjam --toolset=gcc stage
Run Code Online (Sandbox Code Playgroud)

它构建良好,但我希望能够静态链接到它(我必须有一个文件的最终产品)所以我试过:

bjam --link=static --toolset=gcc stage
Run Code Online (Sandbox Code Playgroud)

但我得到了相同的输出.有任何想法吗?

连续编辑第二个问题我在发帖后回答了几个问题:p猜我会把这个问题留给其他人.

bjam --build-type=complete --toolset=gcc stage
Run Code Online (Sandbox Code Playgroud)

肯定会建立动态和静态.

Las*_*lan 41

我认为link是一个属性,而不是bjam的选项.这意味着应该没有 - 在它之前.

这是我的命令行,只用于构建静态库(尽管可视化c ++):

bjam install --toolset=msvc variant=release link=static threading=multi runtime-link=static
Run Code Online (Sandbox Code Playgroud)

将其映射到原始构建命令我会说它看起来像这样:

bjam --toolset=gcc link=static stage
Run Code Online (Sandbox Code Playgroud)

也许:

bjam stage --toolset=gcc link=static
Run Code Online (Sandbox Code Playgroud)

试试跑步

bjam --help
Run Code Online (Sandbox Code Playgroud)

有关bjam的属性和选项的更多信息.


Ash*_*art 8

只是想要注意,随着更新的提升(2011年2月)你现在也需要构建bjam ..由于某种原因,当前可下载的bjam不能干净地工作.

首先:

cd ...\boost_1_45_0\tools\build\v2\engine\src

build.bat mingw

您需要将bjam添加到PATH(从控制面板,而不仅仅是在cmd提示符下).然后

cd ...\boost_1_45_0\

bjam --build-type=complete --toolset=gcc stage

我的设置是Vista,Boost 1.45,MinGW 4.5,并且从cmd.exe构建而不是msys.

http://code-slim-jim.blogspot.com/2011/02/boost-in-vista-using-mingw-and-cmdexe.html