0

在 Windows 10 Pro 64 位 PC 上运行的 RAD Studio 10.4.2 C++Builder。目标 VCL Win64(即 Clang64 编译器)。

我有一个正在使用 VCL Clang64 开发的大型 C++ 项目。我正在使用所有 RTL 库和所有已安装组件包的静态链接进行编译。

之前编译运行正常。我添加了一些新的东西,现在它可以编译和链接而不报告任何错误,但是当我运行它时,我得到一个错误框并且应用程序没有运行(甚至没有启动)。错误框说。

读取 OKBitBtn.Kind 时出错:找不到资源 BBOK

我使用记事本++“在文件中查找”在所有目录中搜索包含 BBOK 的文件,但它显示“未找到”。

如果我在启用“使用运行时包”项目选项的情况下进行编译,当我尝试运行 EXE 文件时会得到一个 AV。

如果我使用带有静态链接的 Clang32(目标 = Win32)进行编译和链接,它运行正常 - 没有任何错误的迹象(但我需要一个 64 位应用程序来使用 FireDAC 连接到我的 PostgreSQL 数据库,所以这个实验不会说话到数据库,如预期的那样)。

我不知道什么会导致这个错误,以及我应该采取哪些调试步骤来追踪和解决它。

4

1 回答 1

0

(感谢 Remy 对我的问题进行了编辑改进)感谢 David Millington 和 Miguel Moreno 的帮助(由 Skype 对话提供,我现在有了解决方案:

我有一些自己的 VCL 组件,它们是用 C++ 编写的(并使用经典编译器)。我在“已安装的包”列表中取消选择了这些 - 但它们仍然被列出(带有空复选框)。我知道 RAD studio 10.4.2(及更早版本)不适用于用 C++ 编写并使用 clang32 或 clang64 编译器编译的 VCL 组件。

如果我从列表中“删除”这些组件,那么问题就解决了。在这一点上,我不知道为什么会发生这种情况。

这有点痛苦,因为这意味着从使用带有经典编译器(很多)的组件的项目切换到我花费大量时间的大型项目并不方便。但是,这是一种可接受的解决方法。我希望这个问题将在即将到来的 RAD Studio 11 版本中得到解决。

于 2021-08-25T14:40:48.007 回答