将JVCL安装到Delphi 10 Seattle

3
尝试使用 GetIt 包管理器将 JCL 和 JVCL 安装到 Delphi 10 Seattle 中时,我遇到了一个错误:
“Windows 7 Professional Service Pack 1 (6.1.7601)
JVCL 3.50.0.0
[生成:包] 为 D15 生成包 已加载 template.dpk 已加载 template.dproj 已加载 template.rc [编译:包] [编译:JvCore150.bpl] Embarcadero Delphi for Win32 编译器版本 22.0 版权所有 (c) 1983,2010 Embarcadero Technologies, Inc. C:\Users\Lars\Documents\Embarcadero\Studio\17.0\CatalogRepository\JEDIVisualComponentLibraryJVCL-3.49\Common\jvcl.inc(26) 致命错误: F1026 找不到文件: 'jedi\jedi.inc'”
JCL 版本是通过 GetIt 包管理器提供的 2.8.0 版本。
此问题与 Error in JCL installation 相似。

已更新,包含错误文本。 - Lars Ljungberg
我不认为dv很严厉。这就是投票的工作方式。现在你的编辑解决了我的批评,我可以改变我的投票。看起来像是在Google+开发组中一再讨论的可怕的jedi.inc问题。 - David Heffernan
一些背景。我继承了一个使用Jedi的项目,但我不知道使用了哪些组件以及用于什么。 - Lars Ljungberg
祝你好运解决这个问题!我的经验是,使用JEDI时,即使只引入一个组件,也会强制你同时带入大量未使用的其他代码。 - David Heffernan
Jedi代码库存在许多单元之间的耦合问题。很难将其中一个单元吸入您的应用程序并避免整个代码库的间接耦合。话虽如此,当我只是下载它时,安装程序通常对我有效。在Delphi 10 Seattle上,我使用GetIt下载了JEDI JCL+JVCL,并且第一次尝试就成功了。 - Warren P
5个回答

5
  1. 取消其他版本的Delphi选择 - JCL安装程序默认安装在每个版本的Delphi中,而不仅仅是Delphi 10 Seattle。您需要逐页取消每个页面上的主根树项目选项。 enter image description here

  2. 确保您没有将任何其他Jedi内容隐式链接到您安装的其他软件包中。

  3. 确保您的Library Path中没有任何文件夹包含旧版本的jvcl.inc或jedi.inc文件,或任何其他Jedi JCL或JVCL源或dcu文件。

  4. 清理和删除旧的DCP / DCU文件。

  5. 如果您想尝试手动修复软件包设置,请打开位于C:\Users\Lars\Documents\Embarcadero\Studio\17.0\CatalogRepository\JEDIVisualComponentLibraryJVCL-3.49\下的packages文件夹中的软件包源代码JvCore.dpk,并尝试手动添加包含这两个文件的CommonInclude文件夹到搜索路径中。

  6. 在手动修复后,尝试手动重新启动安装程序主可执行文件,可能命名为Install.bat

如果上述方法都不起作用,那么我怀疑问题出在“Repository”文件夹的路径名太长,导致生成的库路径名对JCL安装程序或DCC32命令行编译器中的某些部分来说可能太长了。这种情况下,我建议您在开始之前尽可能地从库路径中删除任何东西,然后安装JCL+JVCL,最后将您的库路径恢复到原来的非常长的值。

我确实需要保留旧版本,因为我有其他使用它们的 Delphi 和 Delphi XE5 应用程序。不过,我会检查一下路径是否过长,因为路径相当长。 - Lars Ljungberg
这些旧版本不应该出现在你的Delphi 10库路径中。如果你只是将你的库路径从一个Delphi版本复制到另一个版本,那么你会遇到一团糟的情况。 - Warren P
谢谢Warren。我会尝试在Delphi 10中使用路径覆盖来删除旧的文件。 - Lars Ljungberg
GetIt软件包管理器为您完成所有复杂的工作,赶快使用吧! - UnDiUdin
OP遇到了问题,因为Getit所做的就是运行安装程序,如果您的工作环境被其他旧版本污染,那么安装程序可能会失败。从10 Seattle启动的安装程序将启动一个Vanilla JCL+JVCL安装程序,它将检测其他Delphi版本并尝试在其中安装。如果其中任何一个版本有先前版本或部分内容(一些旧的JCL单元),则可能会失败。 - Warren P
这对我有用,谢谢 @Warren。我在XE3上安装了JVCL 3.49,并尝试使用GetIt包管理器将v3.50安装到10 Seattle中。它失败了。所以我彻底从XE3和10 Seattle中删除了JCL和JVCL,然后再次运行了GetIt包管理器的安装,包括XE3和10 Seattle。这一次成功了。 - J__

1

git clone git://github.com/project-jedi/jvcl.git jvcl ```

这会获取JVCL存储库。 你还需要JCL。 https://github.com/project-jedi/jcl

安装方法

  1. 安装JCL https://github.com/project-jedi/jcl
  2. 启动jvcl\install.bat

JCL:

git clone git://github.com/project-jedi/jcl.git jcl cd jcl git submodule update --init ```

这会获取JCL存储库并初始化包含jedi.inc和kylix.inc文件的子模块。

安装方法

启动jcl\install.bat


我需要安装git才能做到这一点吗? - Lars Ljungberg
你可以下载一个zip文件并解压缩它,然后运行它,但是这个答案已经没有意义了,因为GetIt已经安装了你需要的文件,你可能只想修复你的问题并重新运行已经放置在你的系统中的install.bat,位于C:\Users\Lars\Documents\Embarcadero\Studio\17.0\CatalogRepository\JEDIVisualComponentLibraryJVCL-3.49\。 - Warren P
我会给这个答案打-1分,因为它非常令人困惑。作者可能需要重新阅读帖子并进行适当的更正。 - ssh

0

我成功地通过下载一个包含JCL和JVCL的压缩版本(JVCL349CompleteJCL27-Build5676.zip)从http://jvcl.delphi-jedi.org/安装了它们。

我遇到的问题似乎与Delphi的多个安装以及路径中的几个JCL版本有关。如果我只为DX安装,那么它就可以正常工作 :)


0

使用RadStudio IDE中集成的GetIt软件包管理器下载JCL和JVCL,参见此其他问题

终于有一种无头痛的方法来安装JVCL了!


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接