在 Visual Studio 下使用 boost 程序选项 MSVC 14.0 断言失败

Using boost program options under Visual Studio MSVC 14.0 Assertion failed

我在 MSVC 14.0 下编译了 Boost 1.66。我正在尝试将在 Linux 上的 Boost 下运行良好的现有项目移植到 Visual Studio.

那是失败的代码:

options.add_options()
            ("help", "Produce help message")
            ("config-file,c", po::value<string>(&config_file_path)->default_value("config.xml"), "Configuration file path")
            ("port,p", po::value<int>(&html_port)->default_value(7999), "HTTP Server port")
            ("html_root,hr", po::value<string>(&html_root)->default_value("."), "Directory root for HTML page");

具有以下断言:

Assertion failed: n == name.size()-2, file libs\program_options\src\options_description.cpp, line 177

有什么建议吗?

我认为选项短名称(逗号后)应该是单个字符,即 ,hr" 应该是 ,r"