我已经卸载了RAD Studio10.2.2,并在我的Win10开发VM中安装了10.2.3。在此过程中,我卸载了所有以前的第三方库,包括绝地GetIt包,并根据说明删除了所有旧的绝地源码和DCP/DCLs。我正在尝试通过GetIt将它们安装回10.2.3。JCL库安装得很好,但是当我尝试安装JVCL时,安装批处理文件在编译安装程序后挂起,VM停止工作。我重新启动,启动了taskmgr,看着批处理文件运行-它似乎进入了一个循环,创建了许多msgfmt实例。我再次尝试删除它,我自己下载并安装3.8版本,并运行安装批处理文件,同样的问题;然后备份到在10.2.2中安装OK的3.6版本,它做了同样的事情。如果我编辑批处理文件以跳过语言设置部分,批处理文件完成正常,但尝试重新运行GetIt更新会导致它重新下载并替换该批处理文件。:(
安装程序会在到达批处理文件的语言部分之前进行编译,所以我尝试直接运行安装程序。我假设我没有向它传递所需的cmd行信息,因为它可以很好地编译64位库,但在编译32位版本的JvCore250.bpl时会立即出现未指明的编译错误。
还有别的人碰到这个吗?是否已知解决方案?
发布于 2020-02-19 08:08:26
最终证明这是一个路径问题。如果一台计算机上存在多个集成开发环境安装(例如,我的虚拟机上安装了或以前安装了D2007、XE2和10.1 ),PATH环境变量可能会太长-在系统中编辑路径以删除旧的/陈旧的路径。然后确保集成开发环境中的库路径包含$(BDSLIB)\$(PLATFORM)\release,否则在构建包时会得到"can't find RTL“。
发布于 2021-03-18 19:54:23
对我来说,这个问题是从dxgettext的msgfmt.exe生成的。msgfmt.exe生成多语言消息,以支持jvcl安装的多语言。
对于msgfmt.exe的特定问题,请尝试查看以下内容:dxgettext and Windows 10
我解决了这个问题,打开jvcl文件夹中的install.bat文件,并注释(用::)执行msgfmt的每一行。
注意:如果你使用getit,我想你必须打开下载jvcl的文件夹并搜索install.bat (我没有使用getit)
相反,我直接从github的组件文件夹中下载了jvcl,并在该文件夹中执行了上面所写的操作。
https://stackoverflow.com/questions/60289577
复制相似问题