【发布时间】:2011-05-27 09:32:52
【问题描述】:
我正在编译一个使用 STL 和 CodeComposerStudio 的混合 C/C++ 程序。 我有很多编译器注释和链接错误
编译器备注
!defined(__MINGW32__)
!defined(__MINGW32__) "C:/CCStudio_v3.3/C2000_v5.2.5/include/yvals.h",
line 470: remark #195-D: zero
used for undefined preprocessing identifier #if
199901L <= __STDC_VERSION__
^ "C:/CCStudio_v3.3/C2000_v5.2.5/include/exception", line 181: remark #195-D:
zero used for undefined preprocessing identifier #if
__GNUC__ < 3 && !defined(__APPLE__) && !defined(__MINGW32__)!defined(__MINGW32__)
链接错误
已更新:已通过将rts2800_ml.lib 更新到最新版本(与编译器相同)来修复。
error: unresolved symbols remain undefined
---------
std::_Raise_handler
std::_Throw(const std::exception &)
std::_String_base::_Xlen() const
std::_String_base::_Xran() const
error: unresolved symbols remainerror: unresolved symbols remain
问题
为什么 ???看来我在那里缺少一个包含或一堆定义。
配置
CodeComposerStudio V3.3
DSP TMS320C2812
C2000 v5.2.5
【问题讨论】:
-
如果找到关于链接器错误的答案。与项目链接的文件
rts2800_ml.lib是旧版本。通过更新到最新,不再出现链接错误。我现在只有约 120 条评论。 -
如果库已过时,标题是否也可能已过时?库和标题通常是齐头并进的。
-
@Clifford:标题没问题,库是从编译器文件夹中提取的,并包含在项目文件夹中。历史原因;)
-
撇开历史原因不谈,这样做有很多充分的理由。然而,错误消息中的路径表明并非所有标头都是本地项目。您是否有可能使用与您的项目副本不兼容的库/编译器版本中的嵌套头文件?
-
我搜索了所有项目包含的内容,但没有定义这些内容。
标签: c++ stl embedded code-composer