ladies and guys!
When I was writing my application I started writing a settings class:
Config.h:
#ifndef CONFIG_H
#define CONFIG_H
#include <iostream>
#include <fstream>
#include <string>
#include <boost/program_options/variables_map.hpp>
#include <boost/program_options/options_description.hpp>
namespace po = boost::program_options;
class Config
{
public:
std::string CITY;
std::string API_KEY;
Config();
// void initialization();
private:
std::unique_ptr<po::variables_map> m_vm;
std::unique_ptr<po::options_description> m_desc;
};
#endif // CONFIG_H
Config.cpp:
#include "Config.h"
Config::Config()
{
m_vm = std::make_unique<po::variables_map>();
// m_desc = std::make_unique<po::options_description>(po::options_description("Configuration"));
// m_desc->add_options()
// ("param1", po::value<int>()->default_value(0), "Parameter 1")
// ("param2", po::value<std::string>()->default_value(""), "Parameter 2");
}
void Config::initialization() {
// std::ifstream file("example.txt");
}
And if I try to compile my programm I have this message:
undefined reference to `boost::program_options::variables_map::variables_map()'
But if I write in cpp-file this row:
po::variables_map test();
Then I won't have compilation errors.