Boost.Locale 示例无法在 VS2010 中运行

Boost.Locale Examples doesn't runs in VS2010

我一直在努力学习Boost.Locale模块。考虑 this 示例。代码已成功编译,但是当我尝试 运行 它时,它给出了错误

Unhandled exception at 0x74d34b32 in LearningCPP.exe: Microsoft C++ exception: std::bad_cast at memory location 0x00a6fa48..

我也附上了程序的堆栈跟踪。在这里:

    KernelBase.dll!74d34b32()   
    [Frames below may be incorrect and/or missing, no symbols loaded for KernelBase.dll]    
    KernelBase.dll!74d34b32()   
>   msvcr100d.dll!_nh_malloc_dbg(unsigned int nSize, int nhFlag, int nBlockUse, const char * szFileName, int nLine)  Line 302 + 0x1d bytes  C++
    msvcr100d.dll!malloc(unsigned int nSize)  Line 56 + 0x15 bytes  C++
    LearningCPP.exe!std::use_facet<boost::locale::converter<char> >(const std::locale & _Loc)  Line 526 C++
    LearningCPP.exe!boost::locale::to_upper<char>(const char * str, const std::locale & loc)  Line 225 + 0x9 bytes  C++
    LearningCPP.exe!main()  Line 170 + 0xc4 bytes   C++
    LearningCPP.exe!__tmainCRTStartup()  Line 555 + 0x19 bytes  C
    LearningCPP.exe!mainCRTStartup()  Line 371  C
    kernel32.dll!75268543()     
    ntdll.dll!776bac69()    
    ntdll.dll!776bac3c()    

有人在 Visual Studio 2010 中使用 Boost.Locale 时遇到过这个问题吗?如果是这样,我该如何解决这个问题?

PS: 我在 Visual Studio 的 Character Set 选项下使用了选项 Use Unicode Character Set。我相信库也已正确链接。

对于可能面临相同问题的其他人,我找到了解决方案。该程序在 this example ran for calendar.cpp, collate.cpp and `conversions.cpp from this link.

中仍然遇到错误

解决方案是在 Configuration Properties \ C/C++ \ Preprocessor 下的预处理器中添加 BOOST_ALL_DYN_LINK。之后该程序能够 运行。

PS: 在链接器中我添加了 boost_locale-vc100-mt-gd-1_55.lib.