我正在尝试在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/

10-11 01:05