Pergunta

Tenho um problema em usar o Boost: Program_options

Este programa simples, cópia-colada da documentação do Boosts:

#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;
}

falha com um estouro de buffer.

Eu ativei o "Switch de segurança do buffer" e, quando o executo, recebo uma "exceção desconhecida (0xc0000409)" quando passo pela linha desc.add_options()...

Eu uso o Visual Studio 2005 e o Boost 1.43.0.

A propósito, ele é executado se eu desativar o interruptor, mas não me sinto confortável em fazê -lo ... a menos que seja possível desativá -lo localmente.

Então você tem uma solução para esse problema?

EDITAREncontrei o problema que estava vinculando contra libboost_program_options-vc80-mt.lib, que não era a boa biblioteca.

Foi útil?

Solução 2

Encontrei o problema que estava vinculando contra libboost_program_options-vc80-mt.lib, que não era a boa biblioteca desde que mudei a biblioteca de tempo de execução para o Multithread DLL.

Outras dicas

Funciona em 2010. Estava prestes a tentar em 2005, mas percebi que não tenho 1,43 compilado nesse ambiente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top