c++ 和 boost program_options 错误 : 'desc' does not name a type

标签 c++ boost codeblocks

我正在尝试关注 this tutorial on boost program_options ,但我收到此错误:

错误:“desc”没有命名类型。

这是我的源代码:

#include <boost/program_options.hpp>

using namespace std;

namespace po = boost::program_options;

po::options_description desc("Allowed options");
desc.add_options()
    ("help", "produce help message")
    ("compression", po::value<int>(), "set compression level")
;

int main()
{
    return 0;
}

错误位于以“desc.add_options”开头的行,而不是我构造它的行。

/usr/local/boost 是我的 BOOST_ROOT,我已将它添加到我的代码块编译器设置中。编译器参数是 -I/usr/local/boost

为什么这不起作用?

最佳答案

看起来您尝试使用这些线条

po::options_description desc("Allowed options");
desc.add_options()

在所有功能之外的顶层。在 C++ 中,这不起作用 - 将此代码移动到函数中。

关于c++ 和 boost program_options 错误 : 'desc' does not name a type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65526972/

相关文章:

c++ - 在井字棋盘中保存用户输入

c++ - 加速 SDL2 的 makefile

windows - 为什么 boost::filesystem is_directory 在作为 Windows 服务运行时返回不同的结果?

c++ - 序列化可变状态并通过网络异步发送它,几乎是零拷贝(Cap'n Proto + ZeroMQ)

C++ 翻译单元

c++ - 如何使用推导指南为 C++ 类模板提供两个兼容的名称?

c++ - 如何在 linux 中使用 cpp 读取 .xls 文件

c++ - 如何在基于 CMake 的项目中使用 Boost.Test?

比较两个数组并检查条件

c++ - 无法在动态链接库 libstdc++-6.dll 中找到过程入口点 _gxx_personality_v0