6

我已经通过 FPC 和 GDB 在 Visual Studio Code 中为 Object Pascal 设置了构建和调试环境,但我只是通过

"command": "fpc",
"args": [ "-g", "-Px86_64", "helloWorld.pas" ],

现在,我需要构建相当大的 Delphi 项目组(类似于解决方案?),它包含主项目文件 .groupproj。

有没有办法以某种方式通过 FPC 构建 .groupproj?
或者至少有一些解决方法,比如转换为 .lpi,然后通过 FPC 构建?
或者至少从 VS Code 调用 Delphi 编译器/构建器并通过它构建整个项目组?(但我不喜欢这个选项,因为我更喜欢不使用 Delphi)

4

1 回答 1

3

为了让其他可能偶然发现这一点的人直接了解一些事实:

  • FPC 支持 Delphi 源文件(.lpr/.dpr、.pp/.pas 和 .inc)。不是 Delphi 元信息 (.dproj/.dof/.bpg/.cfg/.groupproj) 无论如何都依赖于 Delphi 版本。
  • Lazarus 转换工具还可以转换 .dfms。基本上它是一个 .dfm 清理器和 Uses 子句增强器,就像 Delphi 版本之间的一些转换工具一样。然而,默认情况下,它也会将 Delphi 代码(在 FPC 的 Delphi (-Sd) 模式下工作)更改为 Lazarus 首选的 objfpc 方言(-S2 模式)。尝试前请务必备份,并彻底检查转换工具的配置。
  • FPC 和 Delphi 命令行参数不同。
  • FPC 不支持 .lpi 等 Lazarus 元数据格式。然而,Lazarus 实用程序 Lazbuild 确实支持从命令行构建 Lazarus 项目。

但幸运的是,基础是相同的

  1. 一个主程序或库文件文件)
  2. 一组单元(.pas 文件)和包含目录(.inc 文件)。FPC 区分两者,delphi 没有。
  3. 必须将自动创建的表单添加到项目中。
  4. 任何其他命令行开关,例如定义设置、范围检查优化选项。

因此,在最坏的情况下,检查 Delphi 项目(在 IDE 或 texteditor 中)的目录和开关,并创建手动构建脚本或 lazarus (.lpi) 项目。

但是请务必记住,默认 FPC 模式不是 Delphi 模式,因此在执行 FPC 时请务必手动启用 Delphi 模式 (-Sd)

Lazarus 中的小组项目支持是非常新的(就像几个月一样),而且 afaik 甚至还没有稳定版本。但是,如果您创建一堆 .lpis,则在 .lpis 上带有一系列 lazbuild 命令的批处理文件/shellscript 可能会做到这一点。

Ps 把 VSCode 扔到公共汽车下面,用 Lazarus。

于 2017-04-14T12:05:26.230 回答