gpt4 book ai didi

C++ 生成器 : #include error

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:12:41 25 4
gpt4 key购买 nike

我正在测试新版本的 CBuilder(XE2 版)。大多数 commnon include 被重定向到 boost 库或 dinkumware 库(一些 STL 实现?)。

#ifndef Error_H
#define Error_H

#include <exception>
#include <iostream> //Error message, see bellow, please

但编译因以下(和奇怪的)消息而停止:

[BCC32 Error] xlocale(1392): E2451 Undefined symbol 'MB_LEN_MAX'[BCC32 Error] xlocale(1763):    
[BCC32 Error] xlocnum(1495): E2451 Undefined symbol 'CHAR_MAX'
Full parser context
xlocnum(1487): decision to instantiate: ostreambuf_iterator<char,char_traits<char> > numput::_Iput(ostreambuf_iterator<char,char_traits<char> >,ios_base &,char,char *,unsigned int) const
--- Resetting parser context for instantiation...
detectproj.cpp(22): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\iostream
iostream(5): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\istream
istream(5): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\ostream
ostream(5): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\ios
ios(5): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\xlocnum
xlocnum(30): namespace std
xlocnum(1036): class num_put<_Elem,_OutIt>
xlocnum(1487): parsing: ostreambuf_iterator<char,char_traits<char> > numput::_Iput(ostreambuf_iterator<char,char_traits<char> >,ios_base

一个有趣的事实是,在编译我自己的源代码之前编译已经停止...编译器正在按以下顺序浏览包含的文件:

iostream -> istream -> ostream -> ios-> xlocnnum 
iostream -> istream -> ostream -> ios-> xlocnnum -> streambuf -> xiosbase ->xlocale

并中断 xlocnum 和 xlocale 文件的处理并出现以下错误:

E2451 Undefined symbol 'CHAR_MAX'
E2451 Undefined symbol 'MB_LEN_MAX'

问题出在哪里?我从“包含路径”中删除了所有项目,为什么 IDE 仍然包含 dinkumware 库而不是公共(public)库?

设置:

Link with dynamic RTL: Off
CodeGuard: On
Directories and Conditionals/All configurations/Include Path: Empty
Directories and Conditionals/All configurations/Library Path: Empty
No pragma hdrstop, #pragma argsused are used in my code.

旧版本 (C++ Builder 2010) 运行良好...

感谢您的帮助。

最佳答案

您的#ifndef 是否在头文件末尾有匹配的#endif?

产生此错误的最小使用完整示例代码是什么?

关于C++ 生成器 : #include <iostream> error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8631969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com