问题标签 [boost-program-options]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7248 浏览

c++ - boost::program_options - 如何处理 INI 文件中具有相同名称的多个部分

在如下配置中;有没有办法处理各个部分。

我正在寻找一种方法来以可靠的方式验证下面的各个“服务器”部分。

0 投票
2 回答
1273 浏览

command-line - 使用 boost::program_options

在我的程序中,我有一个配对列表 - 名称和大小。

我想从命令行界面使用boost::program_options.

它应该看起来像这样:

myProg --value("John",10) --value("Steve",14) --value("Marge",28)

我还需要这样做 - 史蒂夫将在名单上的约翰之后和玛吉之前。这可能boost::program_options吗?

此 CLI 语法只是获取列表的一个想法。如果你有更好的,一定要告诉。

0 投票
2 回答
4127 浏览

c++ - 如何构建 Boost::program_options(在 linux 上)

我正在尝试boost::program_options按照官方说明使用:http: //www.boost.org/doc/libs/1_36_0/more/getting_started/unix-variants.html#link-your-program-to-a-boost-library

但它不起作用:

这有效,但很奇怪:

0 投票
1 回答
938 浏览

c++ - 为什么 bcp 会为 Boost program_options 计算这么大的依赖列表?

我正在编写一个小程序,boost/program_options用于处理来自命令行的选项。现在我想将我的代码分发到通常没有安装 Boost 的系统。所以我使用了该bcp实用程序。example/first.cpp我在program_options 教程中调用的 Boost 示例中进行了尝试:

它创建一个dest包含大量文件.hpp.cpp目录。我想这就是我需要的,仅此而已。对吗?因为:

37M是不是太多了?例如,我可以使用test_optparse.py只有 61KB 的 Python 来做同样的事情。

难道我做错了什么?关键是我的源程序只有4MB;我无法添加 37MB 的第三方内容!!

0 投票
1 回答
5540 浏览

c++ - boost::program_options - 是否可以强制执行强制标志?

我在我的程序中使用 boost::program_options 。我想强制使用某个标志。是否可以使用 program_options 来执行此操作,而它自己会强制执行此操作?即,抛出错误消息?

0 投票
2 回答
6087 浏览

c++ - 有没有办法打印提升程序选项的配置文件

我正在使用 boost::program_options 从配置文件中获取参数。

我知道我可以手动创建一个文件,程序选项会解析它。但我正在寻找一种让程序自动生成文件的方法。意思是打印出选项的名称和它的值。例如:

没有选项会生成如下所示的 init.cfg

然后我会进入该文件使用文本编辑器更改值并使用此文件:

解决这个问题的一个好方法是让 variables_map 拥有operator<<. 这样我就可以将它写入文件。更改值。读取文件。都采用相同的格式,无需编写每一行。

我在文档或示例中找不到类似的东西。请让我知道这是否可能

编辑:Sam Miller 展示了如何分段解析 ini 文件。但是,我仍然无法从 boost::program_options::variables_map vm 获取值。我尝试了以下

而不是it->second.value(),出现错误。我也试过了it->second。我也有一个错误:

如果我使用it->second.as<int>()但不是所有值都是整数,我会正确获得值,一旦我达到双倍,程序就会崩溃:

0 投票
1 回答
430 浏览

python - python模块提供类似功能的boost::program_option

有没有类似 python 模块的 boost::program_options

0 投票
2 回答
2315 浏览

c++ - 使用 boost::program_options 解析 LPTSTR* 命令行参数

我在使用 boost:program_options 进行命令行解析时遇到问题。解释它的最快方法是显示代码:

解析器 ctor 应该采用 const std::vector<charT>

我程序中的 tstring 是

我得到的错误是:

哪里,哦哪里,我会误入歧途吗?我尝试了各种类型的转换和重新定义,但没有任何效果,而且我已经走到了尽头。

编辑@Zac:
进行您建议的更改...我收到错误消息:

编辑 只是指出我正在使用 Visual Studio 2008 VC9 编译器

0 投票
2 回答
624 浏览

boost-program-options - 使用 boost program_options,根据一个强制性的“模式”选项选择一组选项


假设我有许多称为 modeA modeB common 的选项组。我将在 {} 中引用这些 - 即 {common} 扩展到该组中描述的任何选项。

我希望能够执行以下命令行

模式和公共组中选项的位置并不重要,可以交织在一起
以下将失败

因此,目标是

  • 一个必须出现并且是集合 A|B 之一的选项
    • 如果可能,强制成为第一个参数
  • 根据上述强制参数,整个组被解析为 Ok 或被忽略
0 投票
0 回答
1017 浏览

c++ - boost::program_options:在单个名称-值对中解析 ini 文件中的多值选项

如果我指定

parse_config_file 创建多个字符串,生成一个std::vector< std::string>作为输出。

我想在一行上列出多个字符串。

ip_addresses=猴子、狒狒

结果是std::vector< <std::string> >. 如果可能,如何表达分隔符?

该文档未指定是否在 ini 文件中允许字符串分隔。但是,当作为命令行开关提供时,可以将多值设置分开。