我正在尝试在vxWorks gcc平台上编译regex_search函数。我正在用一个示例进行测试,以查看是否可以毫无问题地使用它。该示例文件包括以下三个标题。
#include <string>
#include <map>
#include <boost/regex.hpp>
我得到的错误如下
include/c++/3.4.4/cwchar:73: error: `::mbstate_t' has not been declared
include/c++/3.4.4/cwchar:114: error: `::btowc' has not been declared
.........
.........(similar "not defined" errors)
c++/3.4.4/cwctype:20: error: `::wctrans_t' has not been declared
c++/3.4.4/cwctype:20: error: `::wctype_t' has not been declared
.........
.........(similar "not defined" errors)
我想知道cwchar和cwtype header 的作用。当我打开它们并看到它们时,它们包含许多预处理程序#ifdefs,它们似乎正在检查编译器特定的信息。
我的上司要求我关闭它们。我该怎么做?
最佳答案
如果您的主管希望您关闭cw支持,则可以尝试在项目设置中定义BOOST_NO_CWCHAR和BOOST_NO_CWCTYPE。
见http://www.boost.org/doc/libs/1_37_0/libs/config/doc/html/boost_config/boost_macro_reference.html
关于c++ - C++ cwchar错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/543073/