如何通过b2使用pdb文件构建boost库

时间:2012-04-12 15:54:13

标签: visual-studio-2010 boost

基于这个优秀的tutorial,我能够毫无问题地构建boost库。但是,我找不到任何生成的PDB文件。

  

boost_1_49_0> b2 --prefix = c:\ temp \ boost1.49 --toolset = msvc-10.0   --build型=完全

因为我已经为boost创建了.lib和.dll文件。为了获得所有相应的pdb,我还应该做些什么最小的构建?

2 个答案:

答案 0 :(得分:7)

来自"Built in Features"

当您致电b2时,请尝试使用--debug-symbols=on

答案 1 :(得分:2)

通过稍微调整一下msvc.jam,您可以直接在必要的目录(可能是调试器需要)中为静态库构建pdbs。在那里找rule archive并更改

PDB_NAME on $(>) = $(<[1]:S=.pdb) ;

到例如:

PDB_NAME on $(>) = "c:\\Lib\\boost\\stage\\lib\\$(<[1]:S=.pdb:G=)" ;

(免责声明:我只有一个模糊的想法,这个神秘的表达意味着什么,从未在任何地方看到它记录,这对我来说是纯粹的猜测,因此没有保证,但它适用于我)。

DLL的PDB由链接器构建,因此您可以在其中设置其选项,例如项目config.jam中:

import toolset ;
using msvc ;
toolset.flags msvc.link LINKFLAGS <link>shared : "/PDB:c:\\Lib\\boost\\stage\\lib\\" : unchecked ;

我确信有一种方法可以自动从系统中获取输出目录。如果有人说出来,请更新。