对如何在C++Builder中使用为Delphi安装的64位组件感到困惑

问题描述 投票:0回答:1

我对为 RAD Studio 添加名为 StyleControls 的东西有点困惑。

听说如果安装在Delphi版本上,也可以配合C++Builder使用。所以我编译了StyleControls for Delphi 32位的源代码并安装了它。我将其源添加到 IDE 的库路径选项中。对于 32 位和 64 位,Delphi 端一切正常。

问题是,当我转到 C++Builder 时,32 位工作得很好,但出于某种原因,64 位不行。当我将 C++Builder 的 VCL 应用程序更改为 64 位,并尝试使用托盘中的 StyleControls 按钮进行编译时,它给出了一个错误:

[bcc64 致命错误] Unit1.h(10): 找不到“scControls.hpp”文件

于是,我环顾四周,发现当我在Delphi中编译StyleControls时,它也在路径:“C:\Users\Public\Documents\Embarcadero\Studio .0\hpp\Win32”处给了我

.hpp

因此,我将其添加到我的项目选项“包含文件搜索路径”中,我想这似乎解决了这个问题。我尝试再次重新编译 64 位,但出现另一个错误:

[ilink64 错误]致命:无效的对象文件 'C:\USERS\PUBLIC\DOCUMENTS\EMBARCADERO\STUDIO .0\DCP\STYLECONTROLS_D11ALEXANDRIA.BPI'

所以,我不知道如何处理这个问题。执行此操作的正确方法是什么?如何使用 64 位 C++Builder 的 StyleControls?

delphi c++builder vcl rad-studio
1个回答
0
投票

我解决了这个问题。对于 Delphi,仅编译 32 位就可以了,这样您也可以使用 64 位。但如果你想在 C++ 构建器中使用 64 位,则必须在 Project/Options/Delphi Compiler/Output C++ 中选择“Generate for C++ builder (with libs)”选项。我选择了 64 位的文件夹。对于那些尝试在 delphi 中编译 64 位 StyleControls 的小提示,请确保满足 .dpk 的要求:{$IFDEF WIN32}designide,{$ENDIF} 对于包含字段:{$IFDEF WIN32}scPReg in 'scPReg.pas',{$ENDIF}。添加这些后,我可以构建 64 位版本,并且生成的 .hpp .bpi 等内容放置在我指定的文件夹中。获得 C++ 构建器的所有生成文件后,进入工具/选项/语言/C++/路径和目录,找到“库路径”确保 64 位,添加编译时生成所有 C++ 构建器文件的文件夹。如果它给你同样的错误,我得到了“[ilink64 Error] Fatal: Invalid object file 'C:\USERS\PUBLIC\DOCUMENTS\EMBARCADERO\STUDIO .0\DCP\STYLECONTROLS_D11ALEXANDRIA.BPI'”,这意味着你把 32 BPI 的位路径,删除它应该可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.