繁体   English   中英

Boost.Locale示例不在VS2010中运行

[英]Boost.Locale Examples doesn't runs in VS2010

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

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 ”选项。 我相信这些库也已正确链接。

对于其他可能遇到相同问题的人,我找到了解决方案。 示例中,该程序仍然通过该链接calendar.cppcollate.cpp和`conversions.cpp运行错误。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM