我在ubuntu 10.04上安装了boost
sudo apt-get install libboost-dev
Run Code Online (Sandbox Code Playgroud)
我想在那之后我不需要设置任何-I和-L标志,所以我编译我的代码
g++ test.cpp
Run Code Online (Sandbox Code Playgroud)
这是我的test.cpp
#include <iostream>
#include <string>
#include <set>
#include <sstream>
#include <boost/config.hpp>
#include <boost/program_options/detail/config_file.hpp>
#include <boost/program_options/parsers.hpp>
namespace pod = boost::program_options::detail;
int main()
{
//contents
std::stringstream s(
"a = 1\n"
"b = 2\n"
"c = test option\n");
//parameters
std::set<std::string> options;
options.insert("a");
options.insert("b");
options.insert("c");
//parser
for (pod::config_file_iterator i(s, options), e ; i != e; ++i)
{
std::cout << i->value[0] << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)
我认为情况会顺利,但实际上有一些错误:
/tmp/ccNQEbJM.o: In function `boost::program_options::detail::basic_config_file_iterator<char>::basic_config_file_iterator(std::basic_istream<char, std::char_traits<char> >&, std::set<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, …Run Code Online (Sandbox Code Playgroud)