C++ Builder XE 无法从 BCB6 成功转换项目

Posted

技术标签:

【中文标题】C++ Builder XE 无法从 BCB6 成功转换项目【英文标题】:C++ Builder XE can't successfully convert project from BCB6 【发布时间】:2012-03-28 12:15:25 【问题描述】:

我正在尝试将旧的 BCB6 项目转换为 C++ Builder XE 项目。开发环境版本如下:

Embarcadero C++ Builder XE 版本 15.0.3953.35171

第一步是创建空白的新项目(文件 -> 新建 -> VCL Forms Application - C++ Builder)。之后,我将旧项目中的所有文件和所有表单添加到项目中,并删除了自动创建的空白表单。第二步是在需要的地方将 AnsiString 对象转换为 UnicodeString 对象。然后我尝试构建项目。编译阶段运行没有错误。但我现在遇到链接器错误(在 BCB6 中一切正常):

c:\program files\embarcadero\rad studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external 'Chart::TChart::' referenced from C:\TEMP\WSCS\DEBUG\WIN32\LNG.OBJ
c:\program files\embarcadero\rad studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Teengine::TChartAxisTitle::SetCaption(const System::UnicodeString)' referenced from C:\TEMP\WSCS\DEBUG\WIN32\F_LOADPOINT_DETAILS.OBJ
c:\program files\embarcadero\rad studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Teengine::TCustomAxisPanel::GetSeries(int)' referenced from C:\TEMP\WSCS\DEBUG\WIN32\F_LOADPOINT_DETAILS.OBJ
c:\program files\embarcadero\rad studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Teengine::TChartSeries::SetVertAxis(const Teengine::TVertAxis)' referenced from C:\TEMP\WSCS\DEBUG\WIN32\F_LOADPOINT_DETAILS.OBJ
c:\program files\embarcadero\rad studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Teeprocs::TCustomTeePanelExtended::SetAllowZoom(bool)' referenced from C:\TEMP\WSCS\DEBUG\WIN32\F_LOADPOINT_DETAILS.OBJ
c:\program files\embarcadero\rad studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Teengine::TChartAxis::SetMaximum(const const double)' referenced from C:\TEMP\WSCS\DEBUG\WIN32\F_LOADPOINT_DETAILS.OBJ
c:\program files\embarcadero\rad studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Teengine::TChartAxis::SetMinimum(const const double)' referenced from C:\TEMP\WSCS\DEBUG\WIN32\F_LOADPOINT_DETAILS.OBJ
c:\program files\embarcadero\rad studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Teengine::TChartAxis::SetLogarithmic(bool)' referenced from C:\TEMP\WSCS\DEBUG\WIN32\F_LOADPOINT_DETAILS.OBJ
c:\program files\embarcadero\rad studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Teengine::TChartAxis::SetAutomatic(bool)' referenced from C:\TEMP\WSCS\DEBUG\WIN32\F_LOADPOINT_DETAILS.OBJ
c:\program files\embarcadero\rad studio\8.0\Bin\CodeGear.Cpp.Targets(2341,5): error : Error: Unresolved external '__fastcall Teengine::TChartAxis::SetDesiredIncrement(const const double)' referenced from C:\TEMP\WSCS\DEBUG\WIN32\F_LOADPOINT_DETAILS.OBJ

如何解决这些错误?我做错了什么吗? TChart 是 BCB6 和 C++ Builder XE 中的标准组件。

【问题讨论】:

【参考方案1】:

我打开了项目中的所有表单。右键单击它们并检查菜单项“Text DFM”。现在构建成功完成。实在是太神奇了,我无法理解。

【讨论】:

以上是关于C++ Builder XE 无法从 BCB6 成功转换项目的主要内容,如果未能解决你的问题,请参考以下文章

C++ Builder XE:找出包含特定 h 文件的位置

在 Rad Studio XE 6 中找不到 C++ Builder 项目

C++ Builder 2009 同步

怎么查看用C++ builder编写的程序都调用了哪些dll文件,谢谢!

无法从 Kotlin 中生成的 Apollo 类构建查询(.builder() 不存在)

“运行”后 C++ Builder 未运行应用程序