C++ cwchar 错误

问题描述 投票:0回答:1

我正在尝试在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,它们似乎正在检查编译器特定信息。

我的主管要求我将其关闭。我该怎么办?

c++
1个回答
2
投票

如果您的主管希望您关闭 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

© www.soinside.com 2019 - 2024. All rights reserved.