Delphi 找不到System.dcu;默认路径设置应该是什么?

s3fp2yjn  于 12个月前  发布在  其他
关注(0)|答案(6)|浏览(151)

每当我试图编译一些东西时都会出现这个错误:“F1027 Unit not found:'System.pas' or binary equivalents(.dcu)"。
安装一个组件后得到它,删除它,重新安装RAD工作室,但仍然一样。
为了修复它,我需要库路径浏览路径。请任何人张贴你的,所以我得到它的工作。
我发现的一个解决方法是将路径“$(BDS)\lib\win32\debug”包含到库路径中,但这不是正确的方法。所以我需要您的路径。谢谢!

hrirmatl

hrirmatl1#

这是从注册表中的HKLM\Software\Embarcadero\BDS\8. 0\Library键-您可以将其保存到.reg文件,然后导入它(当然,首先对路径进行必要的修复):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Embarcadero\BDS\8.0\Library]
"Browsing Path"="$(BDS)\\SOURCE\\VCL;$(BDS)\\source\\rtl\\common;$(BDS)\\SOURCE\\RTL\\SYS;$(BDS)\\source\\rtl\\win;$(BDS)\\source\\ToolsAPI;$(BDS)\\SOURCE\\IBX;$(BDS)\\source\\Internet;$(BDS)\\SOURCE\\PROPERTY EDITORS;$(BDS)\\source\\soap;$(BDS)\\SOURCE\\XML;$(BDS)\\source\\db;$(BDS)\\source\\Indy10\\Core;$(BDS)\\source\\Indy10\\System;$(BDS)\\source\\Indy10\\Protocols;$(BDS)\\source\\database;"
"Debug DCU Path"="$(BDSLIB)\\$(Platform)\\debug;$(BDS)\\RaveReports\\Lib"
"HPP Output Directory"="$(BDSCOMMONDIR)\\hpp"
"Language Library Path"="$(BDSLIB)\\$(Platform)\\release\\$(LANGDIR);$(BDS)\\lib\\$(LANGDIR)"
"Package DCP Output"="$(BDSCOMMONDIR)\\Dcp"
"Package DPL Output"="$(BDSCOMMONDIR)\\Bpl"
"Package Search Path"="$(BDSCOMMONDIR)\\Bpl"
"Translated Debug Library Path"="$(BDSLIB)\\$(Platform)\\debug\\$(LANGDIR)"
"Translated Library Path"="$(BDSLIB)\\$(Platform)\\release\\$(LANGDIR)"
"Translated Resource Path"="$(BDSLIB)\\$(Platform)\\release\\$(LANGDIR)"
"Search Path"="$(BDSLIB)\\$(Platform)\\release;$(BDSUSERDIR)\\Imports;$(BDS)\\Imports;$(BDSCOMMONDIR)\\Dcp;$(BDS)\\include;C:\\Program Files\\Raize\\CS4\\Lib\\RS-XE;;$(BDS)\\RaveReports\\Lib"

字符串
为了使MSBuild正常工作(以及项目配置),您需要确保正确设置以下环境变量:

PLATFORM=ANYCPU

ubof19bj

ubof19bj2#

库路径的顶行:
$(BDSLIB)$(Platform)\release
一些安装程序错误地将其解析为两行并将它们分开。

wz1wpwve

wz1wpwve3#

检查你的 Delphi IDE菜单:工具 * 选项,看看定义了什么。我的默认安装有2个重要的“环境变量”,BDSLIB,定义为“c:\program files\embarcadero\rad studio\8.0\lib”平台,定义为“Win32”。
在同一个表单上,在Library下定义了Library path:,路径以“$(BDSLIB)$(Platform)\release;.”开头。
这应该等同于C:\program files\embarcadero\rad studio\8.0\lib\Win32\release”,这是你应该找到System. dcu的地方。确保该文件在那里。也许它被你的组件工作删除或损坏。在Win32下还有一个“”目录,其中应该包含包含调试信息的dcu。如果发行版dcu丢失或损坏,你可能可以复制调试版本作为快速测试。
听起来像是编译器找不到dcu,然后又去找源文件重新创建了它,但它通常应该使用dcu。
我相信源代码是在PF\Embarcadero\Rad Studio\8.0\source\rtl\sys作为system.pas。
以上所有都是默认的 Delphi 选项。这些选项也可以为一个项目更改,这可能会干扰上述选项。首先尝试上述。然后创建一个新项目,看看它是否会编译,因为这将只使用默认值。
帕特里克纽约

yiytaume

yiytaume4#

看看这个页面上的-cleanregistryide选项:
http://support.embarcadero.com/es/article/42597
它将允许您还原IDE的默认安装路径。如果使用此选项,则需要重新安装第三方加载项。我在安装第三方IDE工具时升级安装后遇到过此问题。
HTH Navid

cbwuti44

cbwuti445#

对于XE 4,使用此restore.reg

Windows注册表编辑器5.00版
[HKEY_CURRENT_USER\Software\Embarcadero\BDS\11.0\Library\Win32]
“搜索路径”="$(BDS)\Imports;$(BDSCOMNONSYS)\Dcp;$(BDS)\include;C:\Program Files(x86)\Embarcadero\RAD Studio\11.0\lib;C:\Program Files(x86)\Embarcadero\RAD Studio\11.0\include;C:\Program Files(x86)\Embarcadero\RAD Studio\11.0\Imports;$(BDSLIB)$(Platform)\release;$(BDSUERSSYS)\Imports;$(BDS)\Imports;$(BDSCOMNONSYS)\Dcp$(Platform);$(BDS)\include”
您可以将11.0更改为您的 Delphi 版本

gupuwyp2

gupuwyp26#

我也有同样的问题,在浏览了这里的解决方案并尝试了之后,它仍然存在。
我最终追踪到安装的一个组件在库路径中插入了无效路径。
在我的案例中,违规成分来自TMS。
在我纠正了路径之后(它们有一个./插入其中,我删除了它),一切都正常工作。
示例:C:\sourcecode\tmsoftware\TMS\Sphinx\packages\d11\Win32\Release

C:\sourcecode\tmsoftware\TMS\Sphinx\packages\d11.\Win32\Release
删除了.\,一切正常。

相关问题