首页 > 数据库 >unidac 在linux loongxarch64或arm64使用SQLite

unidac 在linux loongxarch64或arm64使用SQLite

时间:2023-04-09 20:44:12浏览次数:45  
标签:SQLite IFDEF linux NOSTATIC arm64 ENDIF unidac DEFINE

unidac SQLite默认使用静态连接方式,但UNIDAC官方SQLite未提供arm64或loongxarch64静态库,造成linux for龙芯或arm64无法使用SQLite,经跟踪unidac源码发现将souce/uniProviders/SQLite/LiteDac.inc添加

{$DEFINE NOSTATIC}

然后安装liteprovider10.lpk就可以。

//////////////////////////////////////////////////
//  SQLite Data Access Components
//  Copyright © 2008-2022 Devart. All right reserved.
//////////////////////////////////////////////////

{$I Dac.inc}
{$DEFINE NOSTATIC}

{$DEFINE UNIDACPRO}

{$IFNDEF NOSTATIC}
  {$IFDEF STD}
    {$IFNDEF LITE}
      {$DEFINE NOSTATIC}
    {$ENDIF}
  {$ENDIF}

  {$IFDEF FPC}
    {$IFDEF LINUX}
      {$DEFINE LINUX_FPC}
    {$ELSE}
      {$IFDEF DARWIN}
        {$DEFINE DARWIN_FPC}
      {$ENDIF}
    {$ENDIF}
  {$ENDIF}

  {$IFNDEF NOSTATIC}
    {$IFDEF IOS}
      {$IFNDEF CPUARM}
        {$DEFINE NOSTATIC}
      {$ENDIF}
    {$ENDIF}
  {$ENDIF}
{$ENDIF}
  UniConnection1.Connected:=false;
  UniConnection1.ConnectString:='Provider Name=SQLite;'+
  'Database='+ExtractFilePath(Application.ExeName)+'demo.db3;'+
  'Client Library='+ExtractFilePath(Application.ExeName)+'libsqlite3.so';
  UniTable1.TableName:='hardware';
  UniTable1.Open;

 

标签:SQLite,IFDEF,linux,NOSTATIC,arm64,ENDIF,unidac,DEFINE
From: https://www.cnblogs.com/qiufeng2014/p/17301010.html

相关文章

  • Linux下的IO
    阻塞IO和非阻塞IOIO本质是基于操作系统接口来控制底层的硬件之间数据传输,并且在操作系统中实现了多种不同的IO的方式(模型)IO模型描述的是不同的IO方式,比较常用的几种阻塞型IO模型9非阻塞型IO模型多路复用IO模型阻塞型IO当进程发出IO请求后,阻塞进程(让......
  • 内存去哪儿了——linux free 命令查看内存偏小
        相信很多公司都在使用云服务器,不知道大家有没有注意到,当你购买了一台云服务器以后,在操作系统里面通过free命令查看服务器的内存,容量总是会小于在云厂商控制台上面看到的内存容量。    为什么会这样呢,那就带着疑问往下看。现象描述购买了2台云服务,控制台上面显示......
  • Linux安装Redis
    1.下载下载地址:https://redis.io/download  本人选择的是5.0.14版本  上传服务器。本人上传至usr/local目录下。2.解压  将解压后的redis-5.0.14文件夹改名为redis3.编译cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输......
  • 内存去哪儿了——linux free 命令查看内存偏小
        相信很多公司都在使用云服务器,不知道大家有没有注意到,当你购买了一台云服务器以后,在操作系统里面通过free命令查看服务器的内存,容量总是会小于在云厂商控制台上面看到的内存容量。    为什么会这样呢,那就带着疑问往下看。现象描述购买了2台云服务,控制台上面显......
  • Linux系统目录与路径介绍
    HOME目录和工作目录ls命令的作用:以平埔的形式,展示当前工作目录(默认HOME目录)下的内容(文件或文件夹)Linux系统的命令行终端,在启动的时候,默认会加载当前登录用户的HOME目录作为当前工作目录,所以ls命令列出的是HOME目录的内容。HOME目录:每个Linux操作用户在Linux系统的个人账户目......
  • 如何在Linux环境下配置C/C++环境
    root权限后,使用yum源安装yum-yinstallgccgcc-c++kernel-devel//安装gcc、c++编译器以及内核文件查看GCC版本,看是否安装成功gcc-v出现这个就是安装成功了编译&运行C文件为:gcc-o文件名(无后缀)文件名(有后缀)并回车gcc-otesttest.cC++文件为:g++-o文......
  • sqlite数据库在close()之后任然不能释放与db文件的连接
    conn.Close();conn.Dispose();在close和dispose后,必须要加上以下两句代码,让垃圾回收机制启动,否则仍不能释放与db文件的连接GC.Collect();GC.WaitForPendingFinalizers();......
  • Linux文件与文件夹操作
    创建文件夹/文件mkdir通过mkdir命令可以创建新的目录(文件夹)。语法:mkdir[-p][Linux路径]参数必填,表示Linux路径,即要创建的文件夹的路径,相对或绝对路径即可。-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。如果想要一次性创建多个层级的目录,会报错,因......
  • #yyds干货盘点#Linux中root与sudo的用法与区别(学习笔记)
    Linux下面有两个概念可能大家接触的比较多,一个是sudo命令,还有一个是root账户。Sudo 命令可以以最高权限执行命令,而root账户下所有命令都有最高权限,也就是相当于所有命令都默认加了sudo。那么 sudo和root的区别到底是什么呢,为什么我们建议使用sudo而不是直接使用roo......
  • 【linux】新机配置
    开启网络cd/etc/sysconfig/network-scripts/viifcfg-ens33 ... BOOTPROTO=dhcp ... ONBOOT=yessystemctlrestartnetwork安装网络查看工具yumsearchifconfigyuminstallnet-tools.x86_64开启sshyuminstallopenssh-servervim/etc/ssh/sshd_config ... Po......