boost-program-options

    1熱度

    1回答

    我正在試圖以我的程序用戶的方式來指定我的程序的詳細程度從0到3.我被某人告知可能有一種設置程序選項的方法,以便我能夠檢測標誌出現的次數,然後相應地運行我的程序。 例子: [none] -> level 0 -v -> level 1 -vv -> level 2 -vvv -> level 3 有誰知道這是否可能?我是否需要設置三個不同的選項,每個選項一個?我試圖尋找一個類似的例子,但我擔心我可能

    4熱度

    2回答

    我正在使用Boost的program_options庫編寫一個程序。現在,我想允許它使用配置解析器不知道的任意代碼進行擴展 - 但仍然會傳遞給它一些特定的選項。 我的想法是以某種方式傳遞一個鍵值映射,甚至可能是一個program_options :: variable_map。事情是,program_options需要知道哪些選項提前預期,我不能直接使用我喜歡的鍵映射。 所以,我想也許我可以讓pr

    1熱度

    1回答

    我需要加載地圖我的計劃裏面,有一個整數鍵和一個字符串值,這樣添加鍵值對: 1, oil 2, car 5, house 我想用boost::program_options加載它們。我可以在tutorial看到,我可以加載選項的載體與類似這樣的語法: int opt; po::options_description desc("Allowed options"); desc.add_op

    5熱度

    3回答

    我在Ubuntu 14.04上使用CMake和CLion。我試圖使用程序選項,從一個實例在其文檔中採取了以下代碼: #include <iostream> #include <boost/program_options.hpp> int main(int ac, char* av[]) { namespace po = boost::program_options; us

    0熱度

    1回答

    當我在使用boost::program_options時,拋出validation_error後,錯誤消息不會顯示完整的選項名稱。 我有以下簡單的示例源代碼,用g++ -std=c++11 test.cpp -lboost_program_options編譯。該程序有一個有效的命令行選項:--hello-world,它應該設置爲a或b,例如, ./a.out --hello-world a有效,但

    4熱度

    1回答

    假設我有一個程序使用boost :: program_options解析命令行參數,以及一個具有unsigned值:如果我通過負 #include <boost/program_options.hpp> #include <iostream> namespace po = boost::program_options; int main(int argc, char* argv[]) {

    0熱度

    1回答

    我的應用程序正在使用boost::program_options,它在觸發AddressSanitizer「stack-buffer-overflow」時從異常中產生錯誤消息。 我並不擔心升級錯誤 - 功能起作用,這只是在非生產應用程序的命令行解析部分。不過,我想禁止AddressSanitizer消息。 ERROR: AddressSanitizer: stack-buffer-overflow

    0熱度

    1回答

    考慮一下這個功能: po::parsed_options ParserClass::parseOptions(int argc, char *argv[]) { return po::command_line_parser(argc, argv) .options(desc) .positional(pos) .run(); } desc和

    3熱度

    1回答

    我想使用自定義驗證器而不是重載operator>>以支持我的選項解析中的枚舉類型。我也做了以下內容: #include <iostream> #include <boost/program_options.hpp> enum class MyEnum { OneThing, AnotherThing }; void validate(boost::any& v,

    3熱度

    2回答

    使用bool_switch,我可以寫一個命令行選項來打開一個國旗: bool flag; po::options_description options; options.add_options() ("on", po::bool_switch(&flag)->default_value(false)) ; 現在在哪裏./a.out將有flag==false和./a.