Long term explanation. This is due to the fact that the base type typed_valuein program_optionstries to make a lexical translation from wcharto charwhen setting up a private member m_default_value_as_text. For some reason, the basic_string type does not have the necessary functions to create the correct template types.
, typed_value default_value implicit_value, . lexical_cast, . - :
tvalue< tstring >()->default_value( _T( "output.png" ), "output.png" )