C++ c++;和增压程序选项错误:';描述';不命名类型
我试图跟随,但我得到了这个错误: 错误:“desc”未命名类型 以下是我的源代码:C++ c++;和增压程序选项错误:';描述';不命名类型,c++,boost,codeblocks,C++,Boost,Codeblocks,我试图跟随,但我得到了这个错误: 错误:“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
#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;
}
#包括
使用名称空间std;
名称空间po=boost::program\u选项;
采购订单:选项描述描述(“允许选项”);
说明添加选项()
(“帮助”,“生成帮助消息”)
(“压缩”,po::value(),“设置压缩级别”)
;
int main()
{
返回0;
}
错误出现在以“desc.add_options”开头的行上,而不是我构造它的行
/usr/local/boost是我的boost_根目录,我将它添加到我的代码块编译器设置中。编译器参数为-I/usr/local/boost
为什么这不起作用?看起来您试图使用这些行
po::options_description desc("Allowed options");
desc.add_options()
在所有功能之外的顶层。在C++中,这是不起作用的。把这个代码移到函数中。我把它放在main方法中,现在我得到了更多的错误:未定义的引用:“Booo::我必须仍然缺少一些东西,我不知道什么。你需要链接到程序选项。在gcc中,这将是-lboost_program_options。boost指令只是说我需要安装它的-I/usr/local/boost提供的boost目录。好的,所以在Code::Blocks中,我尝试将其添加到我的链接器设置选项卡的“其他链接器选项”下,现在我的构建日志只显示“/usr/bin/ld:not find-lboost_program_options”结果失败了。