Вы задаете несколько вопросов, которые, похоже, не имеют большого отношения друг к другу.
Boost.ProgramOptions - это инструмент для анализа параметров командной строки. В качестве расширения этого инструмента он также может использовать эти параметры из формата файла. Это не «файлы конфигурации»; это опции файлов. Они содержат опции, которые выглядят как серия параметров командной строки.
Вы можете концептуально подумать об этом как о файле .ini (или что-то, что вы можете получить из Boost.PropertyTree). Но в конечном итоге формат по-прежнему зависит от параметров командной строки: --option-name "parameter" -o "next Param"
.
«Lua эквивалент» для Boost.ProgramOptions будет поэтому инструментом для анализа параметров командной строки. Для этой задачи есть several options you may choose from.
Если вы хотите иметь файлы конфигурации, которые построены на скрипте Lua, то вы должны это сделать. Конструктор таблицы Lua делает довольно разумный и удобочитаемый формат файлов, как JSON для JavaScript. Однако они не будут иметь прямого подключения к параметрам командной строки; это просто сценарий Lua, который вы читаете как таблица Lua, и процесс, как вы сочтете нужным. Вы не можете копировать и вставлять фрагменты этой таблицы в командную строку и ожидать получения разумных результатов, как вы можете, для файлов опций Boost.ProgramOption.