首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FPC :找不到单元系统

FPC :找不到单元系统
EN

Stack Overflow用户
提问于 2020-07-04 14:12:13
回答 4查看 6.1K关注 0票数 5

我刚刚安装了FPC3.2.0(在LinuxMint19.3上)并尝试使用FPC。我从bin安装子文件夹启动了./fp,用./fp编写了一个最简单的程序

代码语言:javascript
复制
program hello;

begin
  writeln('hello');
end.

将程序保存为hello.pas,当我编译它时

代码语言:javascript
复制
(3,1) Fatal: Can't find unit system used by hello
(0) Fatal: Compilation aborted

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

我试图在谷歌上搜索这个问题,在不同的论坛上找到了几个帖子,其中一个问题可以追溯到2007年,none的问题也得到了回答。

解决这个问题的方法或者FPC已经死了15年了吗?

EN

回答 4

Stack Overflow用户

发布于 2020-07-14 14:46:04

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

包配置应该放置一行如下

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

美元值是内置的(分别为3.2.0和i 386-linux或x86_64-linux)。请验证使用预构建的.ppu .o的目录是否存在。

票数 3
EN

Stack Overflow用户

发布于 2020-07-06 23:32:03

尝试修复FPC的安装,或者通过调用fpcmkcfg手动修复它。

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

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

票数 1
EN

Stack Overflow用户

发布于 2020-11-01 21:10:04

在Ubuntu 20.04上也有同样的问题。要解决这个问题,我必须在项目的文件夹中创建fp.cfg文件,内容如下:

代码语言:javascript
复制
-Fu/usr/lib/x86_64-linux-gnu/fpc/$fpcversion/units/$fpctarget
-Fu/usr/lib/x86_64-linux-gnu/fpc/$fpcversion/units/$fpctarget/*

如果这不能工作,这意味着单位路径在您的系统是不同的。你可以用这样的方法

代码语言:javascript
复制
dpkg -L fp-units-base-3.0.4 | grep .ppu

找出单位实际上存放在哪里。将3.0.4替换为实际的免费Pascal版本。如果您不知道确切的版本,请使用

代码语言:javascript
复制
sudo apt install apt-show-versions
apt-show-versions fpc

它会显示出

代码语言:javascript
复制
fpc:all/focal 3.0.4+dfsg-23 uptodate

3.0.4是您需要的版本号。

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

代码语言:javascript
复制
cat /etc/fpc.cfg | grep -- -Fu | head -2

所以你可以直接跑

代码语言:javascript
复制
cat /etc/fpc.cfg | grep -- -Fu | head -2 > fp.cfg

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62730173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档