在Pascal中的另一个文件夹上使用单位

阿图罗

我想要一个像这样的结构/project/functions /project/src我会有一个/project/functions/helloUnit.pas类似于以下内容的单元

unit helloUnit;
interface
implementation
uses classes;
procedure helloWorld(output);
begin
  writeln('Hello, World');
end.

和一个/project/src/main.pas类似的文件

uses helloUnit;
Begin
  helloWorld;
End.

我一直在尝试使其工作,但尚未找到方法。我在Linux命令行上使用fpc编译器,以防我未定义路径或其他内容。

马丁·A

您的示例代码有些问题,在尝试从命令行进行编译之前,对其进行修复将很有帮助。

首先,您需要一个项目文件进行fpc编译以生成您的程序。为此,我在项目文件夹中创建了该文件并将其命名为hello.lpr

program Hello;

uses
  hellounit,
  main;

begin
  HelloWorld;
end.

然后按以下步骤更正Main.Pas:

unit main;

interface

uses helloUnit;

procedure SayHello;

implementation

procedure SayHello;
Begin
  helloWorld;
End;
End.

请注意,procedure SayHello;它已添加到接口部分,End;并且已添加到过程声明的末尾。End.告诉编译器,它已经达到该单元中的源代码的末尾。

下一个正确的helloUnit如下

unit helloUnit;

interface

procedure helloWorld;

implementation

uses classes;

procedure helloWorld;
begin
  writeln('Hello, World');
end; {added}

end.

现在CompileHello.Bat,在包含以下内容的项目文件夹中写入一个批处理文件(假定为Windows)

D:\Lazarus2\fpc\3.0.4\bin\i386-win32\fpc -Fufunctions;src hello.lpr

然后从项目文件夹中的CMD提示符运行它。-Fu编译器开关告诉FPC在哪里可以找到未在同一文件夹作为项目文件的单位。之后的路径-Fu可以相对于项目文件夹。如果已按照上述步骤操作,则应成功编译。

如果您使用的是Lazarus,则随同IDE进行fpc的操作至少有两种方法。

  1. 在IDE中打开HelloUnit的情况下,使用View | 从IDE的菜单中将Editor File添加到Project中,以将HelloUnit添加到项目中。这可能是最好的方法,因为它可以明确标识项目的HelloUnit。

  2. 使用Project |将HelloUnit.Pas所在的文件夹添加到Project的源路径。单击选项,然后在弹出窗口的“编译器选项”下,将文件夹添加到RHS上的“其他单元文件”框中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在另一个文件夹上链接.css

Ruby在另一个文件夹上需要模块/类

避免在一个文件夹上使用 .gitignore

使用节点js在另一个文件夹中打开文件

bat文件不在另一个使用Python的文件夹中时运行

使用符号链接文件夹中的另一个文件?

搜索与另一个文件夹中的另一个文件名匹配的文件

使用 OneDrive API 在另一个文件夹中创建文件夹

使用Python将子文件夹中的图像复制到另一个文件夹

如何确定另一个文件夹中存在的文件或文件夹?

根据另一个文件中的字符串重命名文件夹中的文件 - 使用 Python

如何使用Python处理从一个子文件夹到每个目录中另一个子文件夹的文件?

使用文件名将一个文件夹复制到Google云端硬盘中的另一个文件夹

在另一个文件夹中创建相同的子文件夹

引用 .net core 中另一个文件夹中的另一个对象

如何从Eclipse的另一个文件夹中的一个文件夹导入protobuf文件?

使用sudo将文件夹移动到另一个文件夹

资产目录与文件夹参考:何时使用一个或另一个?

如何使用include将一些php文件包含到另一个文件夹中

从另一个文件夹中的文件使用函数时,为什么找不到文件?

如何从另一个文件夹中的另一个.py调用def

在另一个文件夹中显示一个文件夹的内容

如果未备份数据库,将public_html文件夹上载到另一个托管服务提供商会不够吗?

从另一个文件夹收集文件

根据另一个文件的存在来重命名文件夹中的文件

使用javascript重定向到同一文件夹中的另一个页面

将 .txt 文件保存在 Python 中的另一个文件夹中

如何在Python中打开另一个文件夹中的文件?

使用另一个文件中的 SCSS 值