FPC IDE:找不到单位系统

时间:2020-07-04 14:12:13

标签: freepascal

我刚刚在Linux Mint 19.3上安装了FPC 3.2.0,并尝试使用FPC IDE。我从bin安装子文件夹中以./fp启动了IDE,并用IDE编写了一个最简单的程序

program hello;

begin
  writeln('hello');
end.

将该程序另存为hello.pas,并且在编译时得到

(3,1) Fatal: Can't find unit system used by hello
(0) Fatal: Compilation aborted

这很奇怪,因为system是编译器的单位,而不是用户的单位。

我尝试搜索该问题,在不同的论坛上找到了几则帖子,一个问题的历史可以追溯到2007年,并且没有一个被回答了。

解决此问题的方法或FPC IDE在哪里死了大约15年?

3 个答案:

答案 0 :(得分:1)

在选项->目录->单元目录中检查单元目录。

程序包的配置应该像这样

/ usr / lib / fpc / $ FPCVERSION / units / $ FPCTARGET / *

美元值是内置的(分别是3.2.0和i386-linux或x86_64-linux)。请确认带有预构建的.ppu .o的目录在那里。

答案 1 :(得分:1)

在Ubuntu 20.04上出现了相同的问题。为了解决这个问题,我必须在项目的文件夹中创建文件 fp.cfg ,并包含以下内容:

-Fu/usr/lib/x86_64-linux-gnu/fpc/$fpcversion/units/$fpctarget
-Fu/usr/lib/x86_64-linux-gnu/fpc/$fpcversion/units/$fpctarget/*

如果这不起作用,则意味着系统上的单位路径不同。您可以使用类似的

dpkg -L fp-units-base-3.0.4 | grep .ppu

找出单元的实际存储位置。用实际的Free Pascal版本替换3.0.4。如果您不知道确切的版本,请使用

sudo apt install apt-show-versions
apt-show-versions fpc

它将显示类似

fpc:all/focal 3.0.4+dfsg-23 uptodate

3.0.4是您需要的版本号。

获取所需路径的另一种方法是运行以下命令:

cat /etc/fpc.cfg | grep -- -Fu | head -2

所以您可以运行

cat /etc/fpc.cfg | grep -- -Fu | head -2 > fp.cfg

在项目的文件夹中以解决问题。

答案 2 :(得分:0)

尝试修复FPC的安装,或者您可以通过致电fpcmkcfg手动对其进行修复

fpcmkcfg -d“ basepath = path / to / fpc / 3.3” -o path / to / fpc.cfg

例如,如果编译器在/ usr / local / bin中,它将在 / usr / local / etc。