问题标签 [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.
c++ - 如何在 Boost::Program_Options 中支持配置文件语法“键值”?
默认配置文件语法是“key=value”。如何支持配置文件语法“键值”?
c++ - boost::program_options : 如何添加程序描述文本
当我打印 options_description 时,我希望在允许选项的描述之前打印一个文本。就像是 :
目前我手动添加它:
是否可以将其直接存储在 options_description 对象中?
c++ - boost-program-options:无价值选项的通知程序
只有当它们具有 value_semantic 时,才能将通知器用于已解析的选项。给定通知程序自动处理无值选项的最佳方式是什么?
简单的方法是使用隐式赋值创建一个虚拟 value_semantic,因此用户可以传递没有值的选项。这导致了显式提供值的可能性。如果提供了值,可以添加运行时检查并引发错误。
更新:但是,这在位置选项存在的情况下不起作用,因为位置选项的值可以跟随无值选项引发异常作为给定值。
c++ - Boost 程序选项语法
我正在使用boost::program_options从命令行参数读取用户的输入。它工作得非常好,允许我输出有用的使用消息并正确验证输入。但是,默认情况下,长选项名称必须在双破折号之后--my_long_option
,短选项名称在单破折号之后,并且必须是单个字符,例如;-m
.
有没有办法...
- 单后允许长选项
-
? - 允许短选项有多个字符?
因此允许我拥有看起来像的命令行
尽管从编程的角度来看,这两种可能性应该具有相同的效果,但第一种会更好。我看了一下boost::program_options::command_line_style但它看起来不能满足我的需要。
谢谢
编辑:进一步接受下面的答案以使其使用该样式,必须添加以下代码(遵循 boost docs 的命名约定)
c++ - Hang using Boost Program Options under Cygwin
I've been porting a C++ program from Linux to Cygwin on Windows, and am having trouble with Boost Program Options (Boost 1.43). The program compiles and runs fine on Linux (Boost 1.44), but hangs under Cygwin:
Any ideas? I can provide more information if needed. (If I had to guess, it's I/O blocked, as the CPU use sits at 0% here)
c++ - 程序在运行时找不到 libboost_program_options.so.1.47.0
由于我没有安装 Boost C++ 库的 root 权限,所以我将它安装在我的本地本地下。编译时,我使用了:
g++ -I/home/name/local/boost_1_47_0 -L/home/name/local/boost_1_47_0/stage/lib foo.cc -o foo -lboost_program_options
但在运行时,它会:
error while loading shared libraries: libboost_program_options.so.1.47.0: cannot open shared object file: No such file or directory
并且 ldd 给出:
libboost_program_options.so.1.47.0 => not found
我还尝试指定库的绝对路径,但它也不起作用:
g++ /home/name/local/boost_1_47_0/stage/lib/libboost_program_options.so.1.47.0 -I/home/name/local/boost_1_47_0 -L/home/name/local/boost_1_47_0/stage/lib foo.cc -o foo
c++ - 我迷失在 boost 库中(特别是 boost_program_options)
大家好,我一整天都在用头撞墙。
所以我想把我的程序移到大学超级计算机上,但它没有 boost(我在代码中使用了 boost program_options)。在我的电脑上,我只有 -lboost_program_options 并且工作正常,但显然不再工作了。
因此,我需要将必要的东西与我的代码一起打包,以便在超级计算机上编译(使用英特尔 icpc)
我的第一个障碍是编译我的 makefile 中包含要包含 boost 标头的代码的行,但我在我的代码文件夹中运行了以下内容:
并将生成的文件放在我的包含目录中。解决了这个问题。
不幸的是,Boost 程序选项不仅仅是一个标题包,所以我需要别的东西。我需要去图书馆什么的。因为当编译器到达我的makefile上的最后一个任务时我得到错误(执行所有目标文件)
在我的旅行中,我发现了这个问题:
我尝试了答案的建议,但是在我的命令中添加“build”不会生成任何额外的文件......
现在完全卡住了,不知道如何获得这个图书馆的东西。我在 bjam 上读了这么多东西,我的脑袋都在旋转,我只是没有足够的理解能力来处理这一切。
操作系统:Linux 两个系统
c++ - 是否有一些类似于 boost program_options 但用于 *keyboard shortcut auto-gen help* 的 c++ 库/源?
所以,我有一些带有键绑定的 c++ 源代码,例如:
我总是忘记愚蠢的键是什么并且必须猜测,它们可能会改变,或者添加新的键等等。有没有一些快速的方法来自动生成帮助或“白痴指南”弹出窗口,说明短 -削减是?如果有人不知道 boost::program_options 但可以回答,这里有一个例子:
所以,我不必“RTFC”就知道如何使用可执行文件,我只需要说“./myapp --help”,boost 就可以很好地自动生成帮助等等。键盘快捷键映射是否有类似的东西,其中击键取代了命令行标志的作用?(在 C++ 中。原则上 C 也可以,但我怀疑它是否能像 boost 一样优雅。)
c++ - 提升程序选项 parse_config_file
我想以 boost program_options 方式保存我的应用程序的设置(在文件中)
这是我的功能
不幸的是,我收到了这个错误:
我怎么解决这个问题?
c++ - 如何使用 Boost.program_options 检测拼写错误?
我使用 boost.program_options 库。考虑这个简化的案例。
我想在这样的命令行上产生错误:
请注意,用户打错了“c-”而不是“-c”。但是解析器将此理解为单个 -u 选项。我该如何处理这种情况?