基于这个优秀的教程,我能够毫无问题地构建 boost 库。但是,我找不到任何生成的 PDB 文件。
boost_1_49_0>b2 --prefix=c:\temp\boost1.49 --toolset=msvc-10.0 --build-type=complete
因为我已经为 boost 构建了 .lib 和 .dll 文件。为了生成所有相应的 pdb,我还应该做些什么最小构建?
基于这个优秀的教程,我能够毫无问题地构建 boost 库。但是,我找不到任何生成的 PDB 文件。
boost_1_49_0>b2 --prefix=c:\temp\boost1.49 --toolset=msvc-10.0 --build-type=complete
因为我已经为 boost 构建了 .lib 和 .dll 文件。为了生成所有相应的 pdb,我还应该做些什么最小构建?
来自“内置功能”
当您致电 b2 尝试使用--debug-symbols=on
您可以通过稍微调整 msvc.jam 直接在必要的目录(调试器可能需要)中为静态库构建 pdb。找到rule archive
并改变
PDB_NAME on $(>) = $(<[1]:S=.pdb) ;
例如:
PDB_NAME on $(>) = "c:\\Lib\\boost\\stage\\lib\\$(<[1]:S=.pdb:G=)" ;
(免责声明:我只是模糊地知道那个神秘的表达是什么意思,从来没有在任何地方看到它的记录,这纯粹是我的猜测,因此不能保证,但它对我有用)。
DLL 的 PDB 由链接器构建,因此您可以在例如 project-config.jam 中设置其选项:
import toolset ;
using msvc ;
toolset.flags msvc.link LINKFLAGS <link>shared : "/PDB:c:\\Lib\\boost\\stage\\lib\\" : unchecked ;
我确信有一种方法可以自动从系统中获取输出目录。如果有人知道这一点,请更新。