本文介绍了boost :: filesystem :: path(std :: wstring)抛出异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
此代码:
boost::filesystem::is_directory("/usr/include");
做得好.
这两个代码:
boost::filesystem::is_directory(L"/usr/include");
引发异常:
OS-Linux Mint
OS - Linux Mint
提升1.43
gcc-4.6.0
gcc-4.6.0
推荐答案
- 在Linux上不要使用宽字符串.您不需要它们.
-
它尝试将宽字符串转换为普通字符串会发生什么情况,为此创建一个语言环境,并且该语言环境可能未在您的系统中配置.
- Don't use wide strings on Linux. You don't need them..
What happens that it tries to convert wide string to normal one and for thiscreates a locale and probably this locale is not configured in your system.
输出命令:
locale
locale -a
;-)
,请检查这是否适用于普通编译器.libstdc ++可能无法很好地构建.;-)
, check if this works with ordinary compiler. Probably libstdc++ wasn't build well.这篇关于boost :: filesystem :: path(std :: wstring)抛出异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!