【发布时间】:2012-05-09 12:58:13
【问题描述】:
我正在尝试将 GLScene 安装到 RAD Studio 2010,目的是在主要是 C++ 项目中使用它。我下载了latest snapshot (5991, November 2011) 并一直在尝试编译和安装两个主要包:GLScene_DesignTime 和GLScene_RunTime。我什至没有尝试过其他一些库(CUDA 等),我只想让基本包运行起来。
我遇到了许多问题,其中一个我无法解决,我正在寻求 SO 上成功安装 GLScene 或可能知道 的任何人的帮助>如何解决这些 Delphi 编译器错误。
第一个问题(已解决?)
编译时,一些文件报如下错误:
[DCC Warning] GLSelection.pas(297): W1025 Unsupported language feature: 'abstract class method'
这是由类似的方法声明引起的:
TGLBaseSelectTechnique = class
public
class function IsSupported: Boolean; virtual; abstract;
似乎 Delphi 2010 不支持虚拟抽象类方法,我已经通过删除 'abstract' 并提供一个虚拟实现来解决它,例如只是返回false。
第二个问题(未解决)——Delphi编译器致命错误
我现在遇到两个更严重的错误。编译时,编译器失败如下:
[DCC Fatal Error] Exception EAccessViolation: Access violation at address 05AE8ED9 in module 'dcc140.dll'. Read of address 00000003
[DCC Error] Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
没有说明是什么文件造成的,但我认为这是由Spline.pas 造成的。偶尔而不是经常,我得到这个:
[DCC Fatal Error] Spline.pas(1): F2084 Internal Error: AV062D8ED9-R00000003-0
这表示Spline.pas,我认为第一个错误也可能与文件有关,因为在获得第一个错误之后如果我再清理项目,清理将失败,说它无法删除Spline.hpp。 (我必须关闭并重新打开 IDE。)Spline.hpp 仅包含以下内容:
// CodeGear C++Builder
// Copyright (c) 1995, 2009 by Embarcadero Technologies, Inc.
// All rights reserved
// (DO NOT EDIT: machine generated header) 'Spline.pas' rev: 21.00
#ifndef SplineHPP
#define SplineHPP
#pragma delphiheader begin
#pragma option push
#pragma option -w- // All warnings off
#pragma option -Vx // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp> // Pascal unit
#include <Sysinit.hpp> // Pascal unit
然后它就停止了。在我看来,尝试生成 HPP 文件时失败了。
我总是遇到这两个失败之一。第二个是我唯一可以绑定到特定文件的;第一个在项目进行到一半时失败了,但我看不到它失败时的位置。我正在从 IDE 内部编译。
我查看了Spline.pas,它看起来很基本的代码 - 我根本看不到任何异常。你可以find it here,显然文件hasn't been touched for seven years...所以我认为它应该编译:)
如果我更改项目设置使其不生成标头,则可以正常编译。 (只生成 obj 文件,以及任何其他不包含“标题”的设置,都可以正常工作。)但这对我来说不是一个好的解决方法 - 毕竟,我需要从 C++ Builder 中使用它,所以我的正常设置是“生成所有 C++ Builder 文件”。至少,我需要 HPP 和 OBJ 文件。
这里有人在最新版本的 C++ Builder 中使用过 GLScene 吗?你遇到过类似的问题吗?知道如何解决这个问题吗?
我正在使用:
- RAD Studio 2010(已全面修补并保持最新;已安装 DDevExtensions 和 IDEFixPack。)
- 2011 年 11 月的快照;我也尝试了 2011 年 3 月的快照,但遇到了同样的问题。 Link to snapshots here。
- Delphi 2010 软件包修改仅,通过更改链接器输出来生成 C++ Builder 文件;还有 BCB 6 包。两者都给出相同的错误。
【问题讨论】:
-
如果对你有什么安慰的话,我在 Spline.pas 中得到了完全相同的致命错误 - 听起来像是 Embarcadero QC 的一个错误:-(
-
谢谢罗迪。很高兴知道,对于好的某些定义;)我可能会看看是否可以打开支持案例。我担心只是进入 QC 不会有太大的收获。
-
是的,但不向 QC 报告可以保证达到更少!
-
好点。 Done. 你介意发表评论说你也可以复制吗?
标签: delphi c++builder glscene