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 成功转换项目的主要内容,如果未能解决你的问题,请参考以下文章
在 Rad Studio XE 6 中找不到 C++ Builder 项目
怎么查看用C++ builder编写的程序都调用了哪些dll文件,谢谢!