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

时间:2018-06-22 10:16:30

标签: c++ boost boost-program-options

我已经在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

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

我认为选项短名称(以逗号开头)应为单个字符,即,hr"应为,r"