2010-08-10 66 views
6

我使用的代碼由一組模塊組成,編譯爲各個庫。 反過來,庫以不同的組合鏈接來構建不同的二進制文件。在模塊化程序中使用Boost.Program_options

因此,這是相當有序的。

不同的模塊使用不同的命令行參數,我想用Boost.Program_options解析。

由於組命令行參數取決於什麼庫鏈接在一起,我不可能提前知道的所有參數,因此也無法將它們添加到program_options :: options_description。

你如何讓每一個模塊來增加它的命令行參數,並在以後讀?

謝謝

回答

6

例如,通過使用options_description小號成員函數add(const options_description & desc)收集從你的模塊的選項一起在一個描述:

options_description & add(const options_description & desc) ;
添加一組選項描述的。這與單獨添加desc中的所有option_descriptions具有相同的效果,但輸出操作員將顯示​​單獨的組。返回*this

提取選項可以通過傳遞例如簡單地做模塊周圍的variables_map