在VS2008下编译出sqlite3.dll和sqlite3.lib

sqlite3+wxsqlite3+vs2008生成加密功能的数据库静态类库 sqlite3+wxsqlite3+vs2008生成加密功能的数据库静态类库,即vs调用说明 在我机器上试验成功,如果出现wxwin变量无效的错误,则需要将项目中所有引用wxxin变量的地方改为wxWidgets-2.9.0的绝对路径 立即下载
废话就不多说了,直接进入主题。

    1、进入http://sqlite.org/download.html下载sqlite-amalgamation-3071300.zip和sqlite-dll-win32-x86-3071300.zip,解压;

    2、创建一个空的win32 dll项目,将解压缩的文件添加进来,进行编译,没有报错,但是查看编译目录,发现只是生成了sqlite3.dll而不见sqlite3.lib文件;

    3、项目属性--配置属性--连接器--输入--模块定义文件,添加sqlite3.def,返回再次编译,发现编译器报如下错误:

         正在链接...
        sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_database_name
        sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_database_name16
        sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_origin_name
        sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_origin_name16
        sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_table_name
        sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_table_name16
        sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_rtree_geometry_callback
        sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_table_column_metadata
        D:\HHTDEV\C++\Sqlite\Debug\sqlite3.lib : fatal error LNK1120: 8 个无法解析的外部命令

        解决办法,项目属性--配置属性--C/C++ -- 预处理器 -- 预处理器定义--预处理器定义,添加SQLITE_ENABLE_COLUMN_METADATA,

        再次编译时,还是报错,sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_rtree_geometry_callback,同样是缺少一个宏定义,

        项目属性--配置属性--C/C++ -- 预处理器 -- 预处理器定义--预处理器定义,添加SQLITE_ENABLE_RTREE,

        再次编译,没有问题。

        另一个解决办法是,在sqlite3.c文件添加如下宏定义,

        //add two micro
        #define SQLITE_ENABLE_RTREE  
        #define SQLITE_ENABLE_COLUMN_METADATA 

        以上两个方法是等效的。看个人习惯了。

4、提供另外一种方法来生成lib文件:

想将sqlite3加入到我的项目中来,但是根据源代码生成sqlite3.dll和sqlite3.lib太麻烦!幸好VC下提供Lib工具,可以根据dll和def文件生成lib文件。具体过程如下:

1)进入VC2008所带的DOS环境下。

2)通过cd命令进入sqlite3.dll和sqlite3.def所在的文件夹。

3)通过下面的命令生成sqlite3.lib。

LIB /MACHINE:IX86 /DEF:sqlite3.def

通过以上步骤即可生成sqlite3.lib文件了!


5、接下来是验证我们生成的动态库是否可用了,

       sqlite官网提供了一个例子,我稍作修改如下:

     

[cpp]  view plain copy
  1. #include "stdafx.h"  
  2. #include <stdio.h>    
  3. #include "sqlite3.h"    
  4. #include <process.h>  
  5. #pragma comment(lib,"sqlite3.lib")    
  6.   
  7. static int callback(void *NotUsed, int argc, char **argv, char **azColName){  
  8.     int i;  
  9.     for(i=0; i<argc; i++){  
  10.         printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");  
  11.     }  
  12.     printf("\n");  
  13.     return 0;  
  14. }  
  15.   
  16. int _tmain(int argc, char* argv[])  
  17. {  
  18.     sqlite3 *db;  
  19.     char *zErrMsg = 0;  
  20.     int rc;  
  21.   
  22.     if( argc!=2 ){  
  23.         fprintf(stderr, "Usage: %s DATABASE\n", argv[0]);  
  24.         system("pause");  
  25.         return(1);  
  26.     }  
  27.     rc = sqlite3_open(argv[1], &db);  
  28.     if( rc ){  
  29.         fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));  
  30.         sqlite3_close(db);  
  31.         return(1);  
  32.     }  
  33.   
  34.     //char* sqlstatement = "create table test(int id,varchar name);";  
  35.     //char* sqlstatement = "insert into test values(1,'hello');";  
  36.     char* sqlstatement = "select * from test;";  
  37.     rc = sqlite3_exec(db, sqlstatement, callback, 0, &zErrMsg);  
  38.     if( rc!=SQLITE_OK ){  
  39.         printf("%s\n",argv[2]);  
  40.         fprintf(stderr, "SQL error: %s\n", zErrMsg);  
  41.         sqlite3_free(zErrMsg);  
  42.     }  
  43.     sqlite3_close(db);  
  44.   
  45.     system("pause");  
  46.     return 0;  
  47. }  

测试结果,OK。
全局–局部傅里叶神经算子(GL-FNO):原理、严格推导与 PINN 混合策略 本文提出了一种全局-局部傅里叶神经算子(GL-FNO)及其与物理信息神经网络(PINN)的结合方法。主要内容包括: 架构设计:GL-FNO包含两个分支 - 全局分支处理低频结构,使用下采样输入;局部分支处理高频细节,使用全分辨率输入。两分支通过自适应门控机制融合。 理论分析:证明了GL-FNO在"低频全局+高频局部"任务上的优势,给出了误差分解和复杂度分析,并推导了与PINN结合时的渐进一致性条件。 实现方法:采用频谱微分计算物理残差,推导了完整的训练流程,包括数据损失与物理损失的联合优 阅读详情

相关推荐

spring boot 集成cas(一) 服务端搭建

简单点就是统一服务认证,多个系统一次登录。俗称单点登录。

慕孑晨的博客 1956

在VS2008下编译sqlite3

废话就不多说了,直接进入主题。     1、进入http://sqlite.org/download.html下载sqlite-amalgamation-3071300.zip和sqlite-dll-win32-x86-3071300.zip,解压;     2、创建一个空的win32 dll项目,将解压缩的文件添加进来,进行编译,没有报错,但是查看编译目录,发现只是生成了sqlite3.dl

指尖极客的专栏 7172

k3s快速搭建k8s集群环境

k8s 搭建方式有多种,如果你是内网环境,希望占用服务器资源少或是边缘系统(如ARM系统),强烈推荐您使用 k3s进行安装 目录k3s 简介k3s架构中文官方文档三台服务器快速搭建k8s集群安装说明步骤1 修改主机名,保持唯一步骤2 安装docker步骤3 安装master节点步骤4 安装worker节点加入集群步骤5 查看集群步骤6 部署 k8s仪表盘 dashboard k3s 简介 轻量级 Kubernetes。安装简单,内存只有一半,所有的二进制都不到 100MB K3s 是一个完全符合 Ku.

gzt19881123的专栏 2445

vs2013编译sqlite3

1、进入http://sqlite.org/download.html下载sqlite-amalgamation-3320000.zip和sqlite-dll-win32-x86-3320000.zip,解压。 2、创建一个空的Win32 dll项目,将解压后的文件sqlite3.c、sqlite3.h、sqlite3ext.h和sqlite3.def四个文件添加进来。编译,没有报错,但是只生成sqlite3.dll而没有sqlite3.lib文件。 3、项目属性 - 配置属性 - 连接器 - 输入 -

wfcao1314的博客 646

英伟达笔试1

本文摘要: 使用NAND2门设计4位奇偶校验发生器,通过15个NAND2门实现4输入异或功能,分三级结构完成奇校验计算。 时序分析公式总结: 建立时间约束:T_cq + T_comb(max) + T_setup + T_skew ≤ T_clk 保持时间约束:T_cq + T_comb(min) + T_skew ≥ T_hold 提供了两段路径的具体时序检查公式和建立违规修复方法 分析32位粘滞累积寄存器Verilog代码: 功能:记录输入数据中出现过的所有1位 每个bit独立实现,复位清零,有效输入时

soulermax的博客 165

SpringBoot+Maven打包实战:把项目变成SDK供其他团队调用

本文详细介绍了如何将SpringBoot项目改造并打包成可被其他项目依赖的SDK。通过调整Maven配置,剥离SpringBoot父依赖与启动类,并定制打包插件,最终生成标准的JAR依赖库,实现从“可执行应用”到“组件化SDK”的优雅转变,便于团队间功能复用。

assembly8low的博客 826

error LNK2001: 无法解析的外部符号 sqlite3_open

error LNK2001: 无法解析的外部符号 sqlite3_open error LNK2001: 无法解析的外部符号 sqlite3_close error LNK2001: 无法解析的外部符号 sqlite3_exec error LNK2001: 无法解析的外部符号 sqlite3_free fatal error LNK1120: 4 个无法解析的外部命令 首先导入

u010536615的专栏 1万+

【目标检测-YOLO】YOLOv5-v5.0-yolov5s网络架构详解(第一篇)

源码:GitHub - ultralytics/yolov5 at v5.0 由于YOLO v5 代码库在持续更新,如上图,有多个版本,每个版本的网络结构不尽相同。以下内容以 v5.0 为准,网络结构选用 yolov5s。 为了方便画图和理解网络结构,选用可视化工具:Netron 网页版进行可视化, 然后使用PPT作图。 在Releases · ultralytics/yolov5 · GitHub找到 v5.0中的Assets 中的yolov5s.pt并下载该权重。 下图为直接......

博观约取,厚积薄发 2万+

vs2017 编译sqlite3 (二)

新版SQLite源码下载与编译 ​​概述 “最新版GDAL源码下载”一文中,我们为大家分享了最新版本的GDAL源码,而GDAL是需要依赖PROJ投影转换库的。 因此,在最新版投影转换工具PROJ源码”一文中,我们又为大家分享了PROJ的源码,如果你对PROJ源码进行编译,会发现它会需要SQLite的支持。 这里,我们再为大家分享SQLite的源码下载与编译的方法,你可以通过关注微信公众号“水经注GIS”并回复“SQLite”获取最新版本的SQLite源码与基于VS2015的编译工程文件。 什么..

透明 1400

数据资产可视化分析:PowerBI在大数据管理中的实战

目的:帮你搞懂“为什么数据资产需要可视化?”“PowerBI能帮企业解决什么问题?”,并掌握用PowerBI做大数据可视化的实战技巧。范围:覆盖数据资产定义、可视化分析原理、PowerBI核心功能(数据连接、建模、可视化)、零售企业实战案例,以及未来趋势与挑战。背景:为什么企业的数据像乱堆的玩具?核心概念:数据资产、可视化分析、PowerBI分别是什么?它们怎么配合?实战步骤:用PowerBI帮零售企业整理“销售玩具箱”,做出能指导决策的仪表盘;应用场景:不同部门怎么用这个“整理好的玩具箱”?

2501_92132293的博客 906

OpenFeign整合Sentinel实现熔断降级

常用于实现熔断降级的框架有Hystrix、Sentinel,我们常说的Spring Cloud项目说的其实是Spring Cloud Netflix,Hystrix以及前面学习过的Ribbon都是Netflix系的家族成员,所以使用Hystrix可以非常简单的与当前项目中使用到的OpenFeign、Ribbon整合,但笔者并没有选择Hystrix,而是选择阿里系的Sentinel。 为什么选择Sentinel而不是Hystrix?从接入简单考虑可能选择Hystrix是不错的选择,但笔者对Hyst...

吴就业 6718

使用vs2008编译sqlite3.dll,sqlite3.lib并调用

下载sqlite源码:http://www.sqlite.org/download.html。     1、    最新版本sqlite-amalgamation-3_6_23_1.zip,解压可得五个文件:         2、编译生成sqlite3.dll及sqlite3.lib。       在vs2008中新建win32 dll空项目:sqlite3。

zonghengzhongguo的专栏 1061

把核心变干净的代价与回报:为什么推动 Clean Core,几乎绕不开 SAP Integration Suite 与 API Management

Clean Core的核心价值在于构建可持续升级的ERP系统架构,其关键不在于减少代码或限制扩展,而是通过解耦和治理实现系统边界的清晰划分。这一理念将推动企业从传统的"私搭乱建"式集成向平台化工程转型,而SAP Integration Suite和API Management正是实现这一转型的核心组件。 Integration Suite作为集成中枢,通过统一平台、可复用内容库和事件驱动架构,将碎片化连接转变为标准化能力;API Management则负责建立接口治理体系,通过统一入口、

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 241

用vs2008编译出sqlite dll和lib (图解)

1:从sqlite的官网上下载源码 http://www.sqlite.org/download.html2:打开vs2008工程新建一个空的dll工程。3:把sqlite3.h,sqlite3.cpp,sqlite3.def分别加入到head file 和source file下。4:编译程序。 这时只能得到sqlite3.dll文件。5:打开vs2008自带的命令行:

liyuwenjing的专栏 2954

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

在 VS2008 / VS2010 下编译和使用 sqlite3

近日开发一款软件,需要用到本地数据库支持,可是在  Windows 平台,庞大而复杂的 ADO/DAO + ACCESS 相当麻烦;FoxPro/Foxbase 也是体积巨大无比,于是想找一款轻量级的本地数据库引擎,在经过无数搜索和多方比较之后,最终选定了 SQLite。 按其官方介绍:SQLite is a software library that implements a self-con

蜡笔小辛的专栏 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VS2008 编译SQLite得到lib dll

在http://sqlite.org/download.html下载 sqlite-amalgamation-3071300.zip      解压得到:sqlite3.h  sqlite3ext.h  sqlite3.c sqlite-shell-win32-x86-3071300.zip   解压得到: sqlite3.exe sqlite-dll-win32-x86-30713

1942

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

利用VS2008编译SQLite3.6.14.2

通过网上搜索资料总结了SQLite3的编译方法步骤说明: 1)选择创建一个“WIN32智能设备项目”; 2)应用程序类型选择:Dll;*如果要创建静态库,则创建一个Win32 Console Application,并将编译类型选为“static library”。 3)将sqlite3.6.14.2的所有源码均加入工程(到其官方网站上可以下载)。 注意需要将tclsqlite

GISSTAR的专栏 3575

VS2013 生成sqlite3动态连接库及sqlite3.dll的调用

一,生成sqlite3动态连接库 1,去sqlite官网上下载最近的sqlite源码包,解压后得到四个文件:shell.c,sqlite3.c,sqlite3.h,sqlite3ext.h 此处还需要sqlite3.def文件,它在sqlite官方生成的dll包中,下载下来,解压即可。 其中,shell.c文件是做来生成exe可执行文件用的。 2,打开vs2008 新建sqlite3的非m

154

VS2013 生成sqlite3动态连接库

一,生成sqlite3动态连接库 1,去sqlite官网上下载最近的sqlite源码包,解压后得到四个文件:shell.c,sqlite3.c,sqlite3.h,sqlite3ext.h 此处还需要sqlite3.def文件,它在sqlite官方生成的dll包中,下载下来,解压即可。 其中,shell.c文件是做来生成exe可执行文件用的。 2,打开vs2008 新建sqlite3的非mfc的D...

Car12 309

VS2008环境下编译Sqlite源代码

VS2008环境下编译Sqlite源代码 好久没写博客了,趁着这个周末没啥事,就研究了一下Sqlite这个轻量级的数据库,这个数据库是由纯C代码写成的,很适合做轻量级的应用,如嵌入式GIS中数据存储的问题,智能客户端数据存储等等。当然,我主要关注在GIS中的应用。一、编译Sqlite1、准备工作下载源码,这个不用多说,去官方网站下载就好了,当然有的可能说官方网站已经有编译好的二进制包,但是我喜欢直

心如止水-GISer的成长之路 4535

win7下vs2008,vs2010编译sqlite源码,生成sqlite3.lib

可以参考:http://www.cnblogs.com/imoon/archive/2012/11/30/2796726.html 另外补充一下我遇到的问题: 1、在VS2010/vs2008中使用lib,必须将lib文件再添加到工程中。我尝试过放在选项设置的lib path中,然后#pragma comment(lib,"sqlite3.lib")引入一直不成功! 方法:右键test1工程

云守护的专栏 2574

vs2008 sqlite3编译成sqlite3.lib静态库

1. 打开vs2008,新建项目--&gt;Visual C++ --&gt;Win32--&gt;Win32--Win32项目, 等待应用程序向导,然后点击下一步即可; 2. 在向导界面,应用程序类型选择“DLL”,附加选项选择“空白项目”; 3. 指定编译的sqlite3.lib库需要的运行时库,项目工程--&gt;配置属性--&gt;C/C++调试--&gt;代码生成--&gt;运行时库...

chenliang0224的专栏 409

由DLL (sqlite3.dll)直接转为 LIB 库

最近需要用到sqlite3 进行数据存储,但是想直接使用其 LIB 库,不幸的是官方并不提供LIB ,只提供DLL。 所以,准备由其源码编译,但折腾半天发现比较麻烦。 无意中发现由DLL 可以转为 LIB。 方法如下:             1、需提供 DLL 及  def文件, 即: sqlite3.def、sqlite3.dll             2、先启动vs200

gowanghaibo的博客 820

入门篇---作为一名菜鸟起飞的第一步,sqlite.lib编辑失败分析原因

如何在本地编译sqlite.lib文件。   文件末尾包含工具包和源码包 在网上找了很多资料,总是配置失败,经过多方尝试,终于找到原因了     感谢:http://www.cnblogs.com/genli/articles/2136787.html 1.sqlite3官网上并没有sqlite3.lib可下载,要用需自编译生成。 2.sqlite3.7.5以前的sqlite_am

u013127898的博客 855
上一篇: 有用的网址收藏
下一篇: 在DLL间或者DLL与EXE之间传递vector对象或指针的问题
cbNotes
博客等级 码龄14年 295粉丝 57原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值