我使用boost一个问题:program_options用的boost :: program_options缓冲区溢出
这个简单的程序,从提升文件复制粘贴:
#include <boost/program_options.hpp>
int main(int argc, char** argv)
{
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")
;
return 0;
}
失败,出现缓冲区溢出。
我已经激活了“缓冲安全开关”,当我运行它,我得到一个“未知异常(0xc0000409)”当我跨过线desc.add_options()...
我使用Visual Studio 2005和提升1.43.0 。
顺便说一句,如果我停用开关,但我觉得这样做不舒服......除非可以在本地停用它。
那么你有解决这个问题的办法吗?
编辑 我发现我被链接到的libboost_program_options-VC80-mt.lib这是不好的库中的问题 。
你可以加什么版本的助推器吗? – 2010-06-15 15:33:31
我加了。它的版本是1.43.0 – 2010-06-15 15:43:28
你不需要在VS中手动链接。 Boost使用编译指示来链接。 – 2010-06-15 16:06:46