C++ 如何获得拆分winmain的句柄

C++ 如何获得拆分winmain的句柄,c++,command-line,boost-program-options,C++,Command Line,Boost Program Options,我正在尝试获取一个简单的windows控制台库上的boost库程序\u选项。 我在图书馆里有链接 C:\ProgramFiles\boost\boost\u 1\u 40\lib\libboost\u Program\u options-vc90-s-1\u 40.lib 包括头文件 #include <boost/program_options.hpp> #include <boost/program_options/config.hpp> #include <b

我正在尝试获取一个简单的windows控制台库上的boost库
程序\u选项
。 我在图书馆里有链接
C:\ProgramFiles\boost\boost\u 1\u 40\lib\libboost\u Program\u options-vc90-s-1\u 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 >
它应该很简单,但我不能让它工作。谁能告诉我在这里需要做什么。
Joseph Shanahan

该函数在
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(...);
    
我喜欢最后一个


不要定义
\u WIN32
宏;编译器将在适当的时候为您执行此操作。

您需要构建一些boost库,在不充分的程序中包含头文件。\u选项就是其中之一。您将在以下网站上获得所需信息。我明白。这基本上是我在回答你的“后续回答”时告诉你的。这是一个链接器问题。这个问题和我的答案和编译器问题无关。
namespace po = boost::program_options;
po::split_winmain(...);