我正在尝试使用一个简单的Windows控制台库来获取升级库program_options
。
我已经在图书馆中链接了
C:\Program Files\boost\boost_1_40\lib\libboost_program_options-vc90-s-1_40.lib
包含头文件
#include <boost/program_options.hpp>
#include <boost/program_options/config.hpp>
#include <boost/program_options/option.hpp>
#include <boost/program_options/detail/cmdline.hpp>
#include <boost/program_options/detail/parsers.hpp >
定义_WIN32
(但我不认为这是必需的。)
我仍然继续
Error 1 error C3861: 'split_winmain': identifier not found
它应该是如此简单,但我不能让它工作。任何人都可以告诉我这里需要做什么。 约瑟夫·沙纳汉
答案 0 :(得分:1)
该函数在boost::program_options
命名空间中声明。如果您只是单独使用它的名称,编译器就不知道您在说什么。您有几个选择:
调用时使用完全限定名称:
boost::program_options::split_winmain(...);
告诉编译器你的意思是什么:
using boost::program_options::split_winmain;
split_winmain(...);
将整个命名空间带入当前范围:
using namespace boost::program_options;
split_winmain(...);
创建名称空间别名:
namespace po = boost::program_options;
po::split_winmain(...);
我更喜欢最后一个。
不要定义_WIN32
宏;编译器会在适当的时候为你做这件事。