2009-01-30 54 views
29

我使用的bjam建设加速(我使用的系统和文件系统)用于MinGW的:建设加速的静态链接(MinGW的)

bjam --toolset=gcc stage 

而且它建立正常,但我希望能够以静态链接到它(我必须有一个单一的文件的最终产品),所以我试过:

bjam --link=static --toolset=gcc stage 

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

编辑连续第二个问题我已经回复了发布后的瞬间:p猜我会在这里留给别人看。

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

肯定会建立动态和静态。

回答

41

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

这是建设只是静态库(的Visual C++虽然)我的命令行:

bjam install --toolset=msvc variant=release link=static threading=multi runtime-link=static 

映射的是你原来的构建命令我想说这应该是这个样子:

bjam --toolset=gcc link=static stage 

或者是:

bjam stage --toolset=gcc link=static 

尝试运行

bjam --help 

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

0

在MinGW的我还没有这个给自己建了,但我相信你的第一个版本将输出动态和静态库和第二只静态的双方,所以如果你不清理编译目录之间建立它可能会看起来是一样的。

当你写“我必须有一个单一的文件......”你的意思是,你需要一个包含所有Boost库单库?如果是这样,我怀疑你可能不得不自己把它们“联系起来”。

+0

感谢您的答复,我的意思是“我必须有一个单独的文件......”是,我必须有我的可执行文件,并没有随它的DLL。 – Adam 2009-01-30 06:23:38

0

我用下面的命令行来构建两个静态链接以及动态链接升压的版本:

bjam "-sBUILD=debug release <runtime-link>static/dynamic <threading>multi" stage 

这是用Visual C++进行Windows上因人而异。

8

只是想指出,随着新的提升(2011年2月),你需要建立的bjam以及现在..由于某种原因,目前可下载的bjam不干净的工作。

所以第一:

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

build.bat mingw

youll需要的bjam添加到路径(从控制面板,不仅在命令提示符)。然后

cd ...\boost_1_45_0\

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

我的设置是Vista中,升压1.45,MinGW的4.5和建筑从CMD.EXE不MSYS。

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

+0

谢谢!最近更新我的升级版时,缺少的bjam对我来说是一个惊喜。 – Inverse 2011-04-25 06:37:03