WSL 2 中 FastReport 与 FastCube 的设置方法与优化策略

软件开发人员长期以来一直在思考这个问题:“我们如何才能直接在 Windows 中运行 Linux 应用程序,而无需使用单独的虚拟机?”

WSL 技术为这个问题提供了一个可能的答案。WSL 的历史始于 2016 年。当时,其实现涉及使用 Windows 内核中的系统调用运行 Linux 二进制可执行文件。第一个版本还包括通过一个层来翻译系统调用来模拟 Linux 内核。

WSL 的第二个版本于 2019 年发布,具有与系统调用的完全兼容、功能齐全的 Linux 内核、对 GPU 的支持以及对具有图形用户界面的 Linux 应用程序的支持。

在本文中,我们将探讨如何设置 WSL 2 以使用 Linux 版 Lazarus 中的 FastReport 和 FastCube 组件。

FastReport .NET 是适用于.NET Core 3,ASP.NET,MVC和Windows窗体的全功能报告库。使用FastReport .NET,您可以创建独立于应用程序的.NET报告。

在 WSL 2 中安装和设置 Ubuntu 24.04

以管理员身份启动 Windows 命令行。要显示所有可用 Linux 发行版的列表,您需要在 Windows 命令行中输入命令并按 Enter:

wsl --list --onlinewsl -l -o

要安装 Ubuntu 24.04,请运行以下命令:

wsl——安装-d Ubuntu-24.04

安装发行版后,系统将提示您创建用户帐户和密码。

Windows 命令行

要安装 Ubuntu 24.04,您只需运行几个命令。

安装发行版后,可以从 Windows 开始菜单使用 Ubuntu 24.04 终端。您还可以使用 Windows 命令行中的命令启动 Linux 内核并进入 Ubuntu 24.04 终端:

wsl -d Ubuntu-24.04

安装 Ubuntu 24.04 后,您需要更新软件包。要更新已安装的软件包,请在 Ubuntu 24.04 终端中运行以下命令:

$ sudo apt update && sudo apt upgrade && sudo apt dist-upgrade

输入用户密码,按回车键。等待同意更新软件包的请求。输入 Y,按回车键确认。

更新已安装的软件包

要安装 Nautilus,请在终端中运行此命令,然后输入以下命令直接启动 Nautilus。

$ sudo apt install nautilus -y

$ nautilus

安装后,可以从 Windows 开始菜单中访问 Nautilus 文件管理器。

Nautilus 文件管理器

在 WSL 2 中安装和设置 Linux 11 Starterkit

WSL 2 子系统允许您通过从 tar 文件导入来使用任何 Linux 发行版。以管理员身份运行 Windows 命令行。运行以下命令将 Linux rootfs 映像下载到 C\: 驱动器的根目录:

curl -o C:\alt-p11-rootfs-systemd-x86_64.tar.xz https://ftp.altlinux.org/pub/distributions/Linux/p11/images/cloud/x86_64/alt-p11-rootfs-systemd-x86_64.tar.xz

要将发行版导入 WSL 2,需要在 Windows 命令行中运行以下命令:

wsl --import Linux-11 C:\Linux-11 C:\alt-p11-rootfs-systemd-x86_64.tar.xz

导入后,Linux 硬盘镜像文件将位于C:\Linux-11\ext4.vhdx。在 Windows 命令行中,运行命令以显示所有已注册发行版的列表。然后运行新导入的 Linux-11 发行版

wsl-l-v

wsl-d Linux-11

启动 Linux 后,将打开一个终端。在此发行版的 WSL 配置文件中,您需要启用 systemd 的使用:

# echo -e “[boot]\nsystemd=true\n” > /etc/wsl.conf

为了使 systemd 正常工作,您需要停止并重新启动发行版。为此,请使用以下命令:

# 导出

wsl-t Linux-11

wsl-d Linux-11

要更新软件包,您需要运行以下命令,然后等待同意更新软件包的请求。输入 Y 并按 Enter 确认。

# apt-get 更新 && apt-get dist-upgrade

为了确保字体显示正确,您需要安装以下包:

#apt-get 安装字体-ttf-ms

要安装并运行 Lazarus,您需要下载命令行实用程序 make,然后安装 Free Pascal 编译器和 Lazarus IDE:

#apt-get 安装 make

# apt-get 安装 fpc && apt-get 安装 fpc-src

#apt-get 安装 lazarus

安装已完成。要启动 Lazarus,请运行以下命令:

# 启动lazarus

Linux 中应用程序开发的 FastReport 安装

在开始安装FastReport和FastCube组件之前,您需要下载安装包。在Linux-11终端中,运行安装wget的命令,然后输入Y并按Enter确认您的操作。

#apt-get 安装 wget

下载 FastReport 和 FastCube 包的试用版:

# wget https://www.fast-report.com/public_download/fr.vcl/fast_report-trial.rpm

# wget https://www.fast-report.com/public_download/fr.vcl/fast_cube-trial.rpm

要安装 FastReport,请在终端中运行以下命令:

#apt-get 安装./fast_report*.rpm

在安装FastReport软件包之前,您需要编译Lazarus附带的软件包并安装其他库:

# lazbuild --build-ide=--add-package /usr/lib64/lazarus/components/tachart/print/tachartprint.lpk

# lazbuild --build-ide=--add-package /usr/lib64/lazarus/components/tachart/tachartlazaruspkg.lpk

# apt-get 安装 sqlite3 libsqlite3-devel

之后,依次运行以下命令来编译FastReport包:

# lazbuild --build-ide=--添加包 /usr/share/FastReport*/Lpks/fs_lazarus.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastReport*/Lpks/fr_lazarus.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastReport*/Lpks/frxe_lazarus.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastReport*/Lpks/frCS_lazarus.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastReport*/Lpks/frxchartlazarus.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastReport*/Lpks/frxlazdbf.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastReport*/Lpks/frxSmartMemo_Laz.lpk

# lazbuild --build-ide=--add-package /usr/share/FastReport*/Lpks/fqb*.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastReport*/Lpks/frxlazsqlite.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastReport*/Lpks/frxPDFlazarus.lpk

在Linux中安装用于应用程序开发的FastCube

现在让我们继续安装 FastCube。在终端中运行以下命令:

#apt-get 安装./fast_cube*.rpm

然后依次运行以下命令来编译 FastCube 包:

# lazbuild --build-ide=--add-package /usr/share/FastCube*/Lpks/fcxScript.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastCube*/Lpks/fcxLazarus.lpk

# lazbuild --build-ide=--add-package /usr/share/FastCube*/Lpks/fcxCharting.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastCube*/Lpks/fcxprint.lpk

# lazbuild --build-ide=--添加包 /usr/share/FastCube*/Lpks/fcxprintTee.lpk

# lazbuild --build-ide=--add-package /usr/share/FastCube*/Lpks/fcxexport.lpk

在 Lazarus 中编译并运行 FastReport Demo

至此,FastReport 和 FastCube 的安装已完成。最后,您可以尝试编译并运行 FastReport Demo。要启动 Lazarus,请在终端中运行以下命令:

# startlazarus --skip-last-project

在 Lazarus 主菜单中,打开“项目”->“打开项目...”选项。在对话框中,选择项目:

/usr/share/FastReport - 试用/演示/FPC/FastReport/FastReportDemo.lpi

打开项目后,按F9键进行编译运行。

至此,完成了在 Lazarus for Linux 中使用 FastReport 和 FastCube 组件的 WSL 2 详细设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/913812.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM的组成、字节码文件的组成

目录 java虚拟机的组成 字节码文件的组成 基础信息 常量池 字段 方法 属性 字节码相关的常用工具: 总结: 1、如何查看字节码文件? 2、字节码文件的核心组成有哪些? java虚拟机的组成 类加载器 ClassLoader运行时数据区…

李佳琦回到巅峰背后,双11成直播电商分水岭

时间倏忽而过,又一年的双11即将宣告结束。 从双11正式开始前的《新所有女生的offer》,到被作为“比价”标杆被其他平台直播间蹭、被与其他渠道品牌比较,再到直播间运营一时手快多发了红包……整个双11周期下来,李佳琦直播间在刷新…

使用iviewui组件库的坑

背景 使用view-design组件库的Input组件的时候,按照产品的要求,输入框中只能键入正整数。 使用效果 如果直接使用组件的type属性,设置类型为number时,乍一看没啥问题,但是当我们键入 小数点(.) 或者 e/E 后面没有跟任…

软件测试学习记录 Day1

根据黑马程序员最新版的软件测试课程所做的笔记,需要原件后台私信: 练习提取测试点: 博主的答案,有不一样看法的可评论区讨论:

uni-app选项卡制作 ⑥

文章目录 十、选项卡制作一 、组件创建二、scroll-view 组件使用三、点击设置按钮跳转到标签设置界面四、数据获取 十、选项卡制作 1.遇到错误: 2.解决问题: 3.this 指向问题 // 指向: get_label_list uniCloud.callFunction({name: "g…

最新x64dbg软件

最新x64dbg软件 1、简介2、调试程序界面3、开源官网 1、简介 最新x64dbg软件-比OD更好的工具,原生支持中文界面和插件。 x64dbg是一款专业的windows系统下的64位调试器,界面简洁、操作简单,与 “OllyDbg” 调试工具非常相似,如果…

【时间之外】IT人求职和创业应知【31】

目录 新闻一:2024年“秦创原沣东杯”陕西省科技工作者创新创业大赛颁奖仪式暨沣东新城机器人产业发展大会盛大启幕 新闻二:声网CEO赵斌:RTE将成为生成式AI时代AI Infra的关键部分 新闻三:“5G工业互联网”融合应用试点城市名单…

Docker使用docker-compose一键部署nacos、Mysql、redis

下面是一个简单的例子,展示如何通过Docker Compose文件部署Nacos、MySQL和Redis。请确保您的机器上已经安装了Docker和Docker Compose。 1,准备好mysql、redis、nacos镜像 sudo docker pull mysql:8 && sudo docker pull redis:7.2 &&…

04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索

文章目录 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索一、多版本并发控制(MVCC)1.1 理论解析1.2 实践应用 二、锁与闩锁机制2.1 理论解析2.2 实践应用 三、事务隔离级别3.1 理论解析3.2 实践应用 四、死锁预防与解决…

PyQt5超详细教程终篇

PyQt5超详细教程 前言 接: [【Python篇】PyQt5 超详细教程——由入门到精通(序篇)](【Python篇】PyQt5 超详细教程——由入门到精通(序篇)-CSDN博客) 建议把代码复制到pycahrm等IDE上面看实际效果,方便理…

计算机的错误计算(一百五十一)

摘要 探讨 MATLAB 中反正弦 asin 与反余弦 acos 函数的计算精度问题。 例1. 已知 计算 及 直接贴图吧: 另外,16位的正确值分别为 0.1570785896071048e1、0.1043072384837152e-4、-0.1570785896071048e1 与 0.3141582222865945e1(I…

FPGA学习笔记#5 Vitis HLS For循环的优化(1)

本笔记使用的Vitis HLS版本为2022.2,在windows11下运行,仿真part为xcku15p_CIV-ffva1156-2LV-e,主要根据教程:跟Xilinx SAE 学HLS系列视频讲座-高亚军进行学习 从这一篇开始正式进入HLS对C代码的优化笔记 学习笔记:《…

Spring Plugin与策略模式:打造动态可扩展的应用

目录 一、策略模式 二、Spring Plugin 2.1 Spring Plugin 实现策略模式开发 2.2 策略模式优缺点 三、Spring Plugin 原理 一、策略模式 策略模式是一种设计模式,它允许程序在运行中动态的选择不同的行为方式进行动态执行。策略模式的核心思想是将行为封装在一个个…

Works With线上开发者大会将提供物联网行业深入的专业知识和技能

Silicon Labs2024年Works With线上开发者大会定于11月20日至21日举行,将汇集全球各地的物联网开发人员、设备制造商、无线技术专家、工程师和商业领袖,观众可免费注册参加。同时,为了方便中文观众,所有在线视频均配有中文字幕。 芯…

一文读懂 Web 安全

Web 安全是互联网中不可或缺的一个领域,这个领域中诞生了大量的黑帽子与白帽子,他们都是安全领域的王者,在平时里,他们利用各种巧妙的技术互相博弈,时不时就会掀起一场 Web 安全浪潮,真可谓神仙打架&#x…

iOS问题记录 - 503 Service Temporarily Unavailable

文章目录 前言开发环境问题描述问题分析解决方案最后 前言 最近有个项目经历了大改动,本地测试没什么问题,于是准备通过打包机打包用于内部测试的包,然后问题就来了。 开发环境 Xcode: 16.1Fastlane: 2.219.0 问题描述 问题出在登录苹果…

数据网格能替代数据仓库吗?

一、数据网格是什么? 数据网格:是一种新兴的数据管理架构和理念,主要用于解决大规模、复杂数据环境下的数据管理和利用问题。 核心概念: 1、数据即产品:将数据看作一种产品,每个数据域都要对其生产的数据负…

Dolphinscheduler配置dataX离线采集任务写入hive实践(二)

这里写目录标题 一、 写入hive 配置1.1 权限报错信息 :1.2 hive 中文件格式1.3 注意区别以下建表语句A、构建ORC 格式分区表B. 构建默认文件格式分区表C.构建非分区表 二、dataX 配置hive 分区表导入 配置2.1 检查hive 表分区是否存在 一、 写入hive 配置 dataX 写…

机器学习——损失函数、代价函数、KL散度

🌺历史文章列表🌺 机器学习——损失函数、代价函数、KL散度机器学习——特征工程、正则化、强化学习机器学习——常见算法汇总机器学习——感知机、MLP、SVM机器学习——KNN机器学习——贝叶斯机器学习——决策树机器学习——随机森林、Bagging、Boostin…

Word大珩助手:超大数字怎么读?35位数字?69位数字?

俄罗斯日前对谷歌开出了20000000000000000000000000000000000(35位数字)美元的罚款 这一数字远超全球GDP总和,消息一出很快就登上热搜。 面对这样一个庞大的数字,人们不禁好奇,这样的数字该如何读出来? …