我刚刚在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年?
答案 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。