use*_*117 3 c++ boost file boost-program-options
这显然是一个相当简单的问题,因为没有其他人在图书馆遇到过这样的问题。
但是,当我运行我的程序时,boost 返回错误“无法识别的选项 Settings.Directoy”但是我已经在我的代码和我要求它读取的文件中定义了它。首先这是我的代码,很短,因为我是作为测试来做的。
std::string Directory;
try {
ifstream Config_File("Config.ini");
options_description Game("Settings");
Game.add_options()
("Directory", value<std::string>(&Directory)->default_value("Example.exe"));
variables_map vm;
store(parse_config_file(Config_File, Game), vm);
notify(vm);
if (vm.count("Directory"))
{
cout << Directory;
}
}
catch(std::exception& E)
{
std::cout << E.what() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
这是它从“Config.ini”中读取的文件
[Settings]
Directory = "Example.exe"
Run Code Online (Sandbox Code Playgroud)
我已经尝试通过更改文件类型、名称...删除空格来调试它?
为目录中的条目添加和删除引号?很多事情,这给了我没有解决方案。
删除该行
[设置]
从你的配置文件。
或者,告诉配置文件解析器您正在使用部分,如下所示:
Game.add_options()
("Settings.Directory", ...
Run Code Online (Sandbox Code Playgroud)
http://www.boost.org/doc/libs/1_55_0/doc/html/program_options/overview.html#idp163379208
| 归档时间: |
|
| 查看次数: |
5415 次 |
| 最近记录: |