How to fix boost::program_options "error: ‘po’ has not been declared"

English Deutsch

Wenn du dein C++-Projekt mit boost::program_options kompilieren möchtest, aber du Fehlermeldungen wie diese siehst

build_error_output.txt
/home/uli/myProject/main.cpp:28:5: error: ‘po’ has not been declared
    po::notify (vm);

dir fehlt diese Deklaration, die du direkt nach #include <boost/program_options.hpp> platzieren musst:

boost_po_alias.cpp
namespace po = boost::program_options;

Dies deklariert po als Alias für den boost::program_options-Namespace, da das Schreiben von po::variables_map viel leichter zu lesen ist als boost::program_options::variables_map und die Verwendung von namespace boost::program_options möglicherweise einige Namenskollisionen mit anderen Funktionen verursachen könnte.


Check out similar posts by category: Boost, C/C++