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 --online或wsl -l -o
要安装 Ubuntu 24.04,请运行以下命令:
wsl——安装-d Ubuntu-24.04
安装发行版后,系统将提示您创建用户帐户和密码。
要安装 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 文件管理器。
在 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 详细设置。
相关文章:
WSL 2 中 FastReport 与 FastCube 的设置方法与优化策略
软件开发人员长期以来一直在思考这个问题:“我们如何才能直接在 Windows 中运行 Linux 应用程序,而无需使用单独的虚拟机?” WSL 技术为这个问题提供了一个可能的答案。WSL 的历史始于 2016 年。当时,其实现涉及使用 Windows 内核…...
《线性代数》学习笔记
列向量无关 上个星期继续学线性代数,一个矩阵,如何判断它是的列向量有几个是线性无关呢?其实有好几个方法。第一个就是一个一个判断。 先选定一个,然后看下这两个,怎么看呢?如果两个列向量线性相关&#…...
Redis三种集群模式:主从模式、哨兵模式和Cluster模式
目录标题 1、背景及介绍2、 Redis 主从复制2.1、主从复制特点2.2、Redis主从复制原理2.3 PSYNC 工作原理2.3.1、启动或重连判断:2.3.2、第一次同步处理:2.3.3、断线重连处理:2.3.4、主节点响应2.3.5、全量同步触发条件:2.3.6、复制…...
CDH大数据平台部署
二、CDH简介 全称Cloudera’s Distribution Including Apache Hadoop。 hadoop的版本 (Apache、CDH、Hotonworks版本) 在公司中一般使用cdh多一些(收费的)、也有公司使用阿里云大数据平台、微软的大数据平台。 国内也有一些平台:星环大数…...
7.4、实验四:RIPv2 认证和触发式更新
源文件 一、引言:为什么要认证和采用触发式更新? 1. RIP v2 认证 RIP(Routing Information Protocol)版本 2 添加了认证功能,以提高网络的安全性。认证的作用主要包括以下几点: 防止路由欺骗 RIP v1 是不…...
【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?
**说明:**本文所涉及的AI运动识别、计时、计数能力,都是基于云智「Ai运动识别引擎」实现。云智「Ai运动识别」插件识别引擎,可以为您的小程序或Uni APP赋于原生、本地、广覆盖、高性能的人体识别、姿态识别、10余种常见的运动计时、计数识别及…...
LED和QLED的区别
文章目录 1. 基础背光技术2. 量子点技术的引入3. 色彩表现4. 亮度和对比度5. 能效6. 寿命7. 价格总结 LED和 QLED都是基于液晶显示(LCD)技术的电视类型,但它们在显示技术、色彩表现和亮度方面有一些关键区别。以下是两者的详细区别ÿ…...
2024 年Postman 如何安装汉化中文版?
2024 年 Postman 的汉化中文版安装教程...
转化古老的Eclipse项目为使用gradle构建
很多古老的Java项目,是使用Eclipse作为IDE开发的。 那么,使用其它IDE的开发者,如何快速地进入这种古老项目的开发呢?或者说,一个Eclipse构建的古老项目,能不能转化成一个IDE无关的项目,进而所有…...
openGauss常见问题与故障处理(二)
2.网络故障定位手段 2.1 网络故障定位手段--常见网络故障引发的异常 在数据库正常工作的情况下,网络层对上层用户是透明的,但数据库在长期运行时,可能会由于各种原因导致出现网络异常或错误。 常见的因网络故障引发的异常有: 1>…...
Mysql 8迁移到达梦DM8遇到的报错
在实战迁移时,遇到两个报错。 一、列[tag]长度超出定义 在mysql中,tag字段的长度是varchar(20),在迁移到DM8后,这个长度不够用了。怎么解决? 在迁移过程中,“指定对象”时,选择转换。 在“列映…...
Android HandlerThread 基础
HandlerThread **一、HandlerThread的基本概念和用途**1. **目的**2. **与普通线程的区别** **二、HandlerThread的使用步骤**1. **创建HandlerThread对象并启动线程**2. **创建Handler并关联到HandlerThread的消息队列**3. **发送消息到HandlerThread的消息队列** **三、Handl…...
【智能算法应用】人工水母搜索算法求解二维路径规划问题
摘要 本文基于人工水母搜索算法(Jellyfish Search Algorithm, JSA),对二维路径规划问题进行了研究。JSA作为一种新兴的群体智能优化算法,模仿了水母在海洋中觅食和迁移的行为,以求解非线性、复杂的优化问题。实验结果…...
【Altium】原理图如何利用参数管理器批量修改元器件属性
【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决在使用AD设计原理图的时候,使用参数管理器批量修改元器件的属性。 2、 问题场景 客户在使用ad时,想大批量修改元器件的属性,类似于Cadence中,批量修改Manufactur…...
基于Spring Boot与Redis的令牌主动失效机制实现
目录 前言1. 项目结构和依赖配置1.1 项目依赖配置1.2 Redis连接配置 2. 令牌主动失效机制的实现流程2.1 登录成功后将令牌存储到Redis中2.2 使用拦截器验证令牌2.3 用户修改密码后删除旧令牌 3. Redis的配置与测试4. 可能的扩展与优化结语 前言 在现代Web系统中,用…...
深度学习之循环神经网络(RNN)
1 为什么需要RNN? 时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。一般的神经网络,在训练数据足够、算法模型优越的情况下,给定特定的x,就能得到期望y。其一…...
Autosar CP Network Management模块规范导读
Network Management模块的主要功能 网络管理适配:作为通信管理器和总线特定网络管理模块之间的适配层,实现不同总线网络管理功能的统一接口,确保系统中各种网络的协同工作。协调功能 网络协调关闭:使用协调算法协调多个网络的关闭,确保它们在合适的时间同步进入睡眠模式,…...
Xshell 7 偏好设置
1 Xshell7 工具——更改用户数据文件夹 就是此电脑目录下的文档 该目录下的7 Xshell下的 applog ColorScheme Files 配色方案文件目录 HighlightSet Files 突出显示集目录 Logs 日志 QuickButton Files 快速命令集 Scripts 脚本文件 Sessions 会话文件 会话文件目录就…...
云计算答案
情境一习题练习 一、选择题 1、在虚拟机VMware软件中实现联网过程,图中箭头所指的网络连接方式与下列哪个相关( C )。 A.仅主机模式 B.桥接 C.NAT D.嫁接 2、请问下图这个虚拟化架构属于什么类型( A …...
浅谈现货白银与白银td的价格差异
西方资本主义世界崇尚自由经济,而我国实行社会主义市场经济,因此二者在金融系统上存在不少差异,反映在贵金属市场中,可能直接表现为价格上的差异。如果投资者对此能有基本的了解,日后面对交易中的特殊价格波动…...
StackEdit:让Markdown创作如虎添翼的开源编辑器全攻略
StackEdit:让Markdown创作如虎添翼的开源编辑器全攻略 【免费下载链接】stackedit In-browser Markdown editor 项目地址: https://gitcode.com/gh_mirrors/st/stackedit 1. 核心价值解析:为什么StackEdit能重塑你的写作体验? 想象一…...
研华工控串口(RS232 RS485 RS422)针脚定义及接线示意图
一. 研华工控串口DB9针脚定义:二. 三种方式接线示意图:1.RS-232 模式(默认模式)点对点通讯,全双工,最长15米机器内DB9 外部RS-23…...
VCAM虚拟摄像头:3大创新功能解锁安卓摄像头的无限应用场景
VCAM虚拟摄像头:3大创新功能解锁安卓摄像头的无限应用场景 【免费下载链接】com.example.vcam 虚拟摄像头 virtual camera 项目地址: https://gitcode.com/gh_mirrors/co/com.example.vcam VCAM虚拟摄像头是一款基于Xposed框架的安卓虚拟相机解决方案&#x…...
用快马平台十分钟搭建小龙虾电商网站原型:从菜单到购物车
最近想尝试做一个小龙虾电商网站的原型,从菜单展示到购物车功能一气呵成。传统开发流程可能需要前后端配合、搭建环境、调试接口,但这次我用InsCode(快马)平台尝试了快速原型开发,整个过程比想象中简单很多。 1. 确定核心功能框架 首先梳理…...
工业物联网时序数据库实战:Apache IoTDB 架构解析与性能调优指南
1. 工业物联网时序数据库的核心挑战 在智能制造和工业4.0时代,工厂车间里每台设备都像话痨一样不断"吐"数据——温度传感器每秒报告10次读数,振动监测仪每毫秒采集1组波形,这些数据如果堆起来,一年能填满几个三峡水库。…...
sklearn分类指标实战:如何用precision_recall_curve优化你的模型效果
sklearn分类指标实战:如何用precision_recall_curve优化模型效果 在机器学习项目中,分类模型的评估往往比训练过程更考验数据科学家的专业素养。当你的模型在测试集上达到95%的准确率时,是否就意味着可以高枕无忧?现实情况往往复杂…...
告别串口!STM32F105RCT6的ITM调试秘籍:从零配置到华为/高通项目级日志封装
STM32F105RCT6 ITM调试实战:企业级日志系统设计与性能优化 在嵌入式开发领域,调试效率直接影响项目进度和质量。传统串口调试方式虽然简单易用,但在处理复杂企业级项目时往往显得力不从心。本文将深入探讨基于STM32F105RCT6的ITM调试技术&…...
Neeshck-Z-lmage_LYX_v2实战教程:异常友好提示机制与错误定位指南
Neeshck-Z-lmage_LYX_v2实战教程:异常友好提示机制与错误定位指南 1. 引言:当绘画工具变得“会说话” 想象一下,你兴致勃勃地打开一个AI绘画工具,输入了一段精心构思的描述,点击生成,然后……页面卡住了。…...
Xinference-v1.17.1保姆级:CentOS7离线环境部署,无外网依赖完整安装流程
Xinference-v1.17.1保姆级:CentOS7离线环境部署,无外网依赖完整安装流程 本文详细记录了在CentOS7离线环境中部署Xinference-v1.17.1的完整流程,无需外网依赖,适合企业内网环境使用。 1. 环境准备与前置检查 在开始安装之前&…...
3大增强型功能体系:重新定义设计师工作方式
3大增强型功能体系:重新定义设计师工作方式 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 在当今快节奏的设计行业中,效率就是竞争力。这款开源Illustrator…...
