我正在寫一個C++應用程序一個調用後臺另一個應用程序乙。一些命令行選項適用於應用程序A,但有些命令行選項應轉發至B。分離應該使用雙破折號--
。Boost.Program_options:後轉發參數「 - 」到另一個程序
例如:
./my_executable_A -a --long_b some_file -- -c --long_d
應該應用甲解析{"-a", "--long_b", "some_file"}
並轉發{"-c", "--long_d"}
到應用乙當由甲調用。
我認爲這可能是有意義的使用boost::program_options
的任務,但我沒有找到這個功能。這可能嗎?
注意:該用例是一個libfuse
文件系統,其中一些選項將被轉發到fuse_main()
函數。
前段時間,我搞砸了Boost程序選項庫,但我似乎記得有一個標誌或一些東西要求圖書館停止解析,當它打到'「 - 」',並離開剩餘的參數在'argc' /'argv'中。 –
您可能想要在Boost的錯誤跟蹤器中查看此故障單:https://svn.boost.org/trac/boost/ticket/6991 - 同樣考慮您是否願意修改您的命令行語法,或者如果它是完全置於石頭? –
如果有另一個簡短的語法,我願意切換到它。這個優點是它被其他libfuse文件系統使用,因此是已知的。但是,他們做手動解析。 – Heinzi