gpt4 book ai didi

c++ - 我如何获得 split_winmain 的句柄

转载 作者:行者123 更新时间:2023-11-28 08:31:42 24 4
gpt4 key购买 nike

我正在尝试获取 boost 库 program_options在一个简单的 Windows 控制台库上工作。我在图书馆有链接 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

它应该很简单,但我无法让它工作。谁能告诉我我需要在这里做什么。约瑟夫·沙纳汉

最佳答案

该函数在 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宏;编译器会在适当的时候为你做这件事。

关于c++ - 我如何获得 split_winmain 的句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1713376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com