2

我正在尝试将 Visual-C++ 编译器选项/Zc:wchar_t-(注意尾随减号将其关闭)传递给 bjam,boost 的构建工具,如下所示:

bjam --build-type=complete runtime-link=shared variant=debug toolset=msvc-8.0 cxxflags="/Zc:wchar_t-" threading=multi debug-symbols=on debug-store=database --with-program_options stage

但是,当我检查包含生成的编译器选项 (at ...\boost_1_44_0\bin.v2\libs\program_options\build\msvc-8.0\debug\debug-store-database\threading-multi\options_description.obj.rsp) 的 *.rsp 文件时,它将始终包含/Zc:wchar_tas 选项,无论我是否指定-

有什么东西cxxflags可以从传递的选项中删除尾随的减号吗?

请注意,该选项/Zc:已设置在 中tools\build\v2\tools\msvc.jam,导致当我使用 cxxflags 指定该选项时,该选项在 RSP 文件中提供了两次——仍然是带有 cxxflags 的选项总是删除其尾随减号,而——如果我编辑 msvc.jam—— msvc.jam 中的一个被逐字记录,减号被保留。

4

2 回答 2

1

我使用了一种解决方法。添加空格以避免删除尾随 -

cxxflags="/Zc:wchar_t- "
于 2017-02-09T13:48:25.950 回答
0

简短的回答是:是的,bjam 搞砸了。

可以破解.jam文件以手动提供此选项,然后它就可以工作。(是的,我会提供确切的位置,但我已经失去了那个测试环境。)

于 2013-08-01T08:29:00.453 回答