我正在尝试在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标头的作用。当我打开它们并看到它们时,它们包含许多预处理程序#ifdefs,它们似乎正在检查编译器特定的信息。
我的主管要求我关掉它们。我该怎么办?
答案 0 :(得分:1)
如果您的主管要求您关闭cw-support,可以尝试在项目设置中定义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