我对添加一个叫做StyleControls的RAD Studio有点困惑。
我听说如果你把它安装在 Delphi 版本上,你也可以和CBuilder一起使用。所以我编译了 Delphi 32位的StyleControls源代码并安装了它。我将其源代码添加到IDE的Library路径选项中。在 Delphi 方面,无论是32位还是64位,一切都运行得很好。
问题是,当我转向CBuilder时,32位工作得很好,但由于某种原因,64位就不行了。当我为CBuilder的VCL应用程序更改为64位时,并尝试使用例如来自托盘的StyleControls的按钮编译它时,它会给我一个错误:
[bcc 64致命错误] Unit1.h(10):找不到'scControls.hpp'文件
所以,我环顾四周,发现当我在 Delphi 中编译StyleControls时,它也给了我路径处的.hpp
:“C:\Users\Public\Documents\Embarcadero\Studio\22.0\hpp\Win32”。
所以,我在我的项目选项“包括文件搜索路径”中添加了它,我想这似乎解决了这个问题。我尝试重新编译64位,但我得到另一个错误:
[ilink 64错误]致命:无效的目标文件“C:\USERS\PUBLIC\DOCUMENTS\EMBARCADERO\STUDIO\22.0\DCP\STYLECONTROLS_D11ALEXANDRIA.BPI”
我不知道该怎么处理。做这件事的正确方法是什么?如何使用StyleControls for CBuilder for 64-bit?
1条答案
按热度按时间eanckbw91#
我发现问题所在了。
对于 Delphi ,只编译32位就可以了,这样也可以使用64位。但是,如果你想在CBuilder中使用64位,你必须在“Project/Options/ Delphi 编译器/Output - C/C"中选择“Generate for CBuilder(with libs)”选项。
我为64位选择了一个文件夹。对于那些试图在 Delphi 中为StyleControls编译64位的人来说,有一点小提示:请确保您输入.dpk的
requires
:{$IFDEF WIN32}designide,{$ENDIF}
也适用于contains
字段:{$IFDEF WIN32}scPReg in 'scPReg.pas',{$ENDIF}
。在添加这些之后,它让我为64位构建,并将生成的.hpp
,.bpi
等放置在我指定的文件夹中。当你有了所有为CBuilder生成的文件后,进入“tools/options/language/C++/path and directories”,找到“Library paths”,并确保64位,添加编译时生成所有C++Builder文件的文件夹。
如果它给你同样的错误,我得到了,像“[ilink 64错误]致命:无效的对象文件“C:\USERS\PUBLIC\DOCUMENTS\EMBARCADERO\STUDIO\22.0\DCP\STYLECONTROLS_D11ALEXANDRIA.BPI”,这意味着您为BPI放置了32位路径,删除它应该可以解决此问题。