sqilte3本地编译失败原因整理

如何在本地编译sqlite.lib文件。

 

文件末尾包含工具包和源码包

在网上找了很多资料,总是配置失败,经过多方尝试,终于找到原因了

 

 

感谢:http://www.cnblogs.com/genli/articles/2136787.html

1.sqlite3官网上并没有sqlite3.lib可下载,要用需自编译生成。
2.sqlite3.7.5以前的sqlite_amalgamation包内包括shell.c,sqlite3.c,sqlite3.def,sqlite3.h,sqlite3ext.h五个文件,可在VS环境下编译生成sqlite3.lib和sqlite3.dll,具体编译设置过程参看网上文献:经测试编译没问题。
3.sqlite3.7.5版本sqlite_amalgamation包内包括shell.c,sqlite3.c,sqlite3.h,sqlite3ext.h四个文件,在VS环境下编译没成功。
4.如从sqlite3.7.5版本中得到sqlite3.lib,可用VS的LIB工具链接得到。
具体过程如下:
1)先将sqlite-dll-win32-x86-3070500.rar解压到文件夹sqlite-dll-win32-x86-3070500,
2)再将VS安装目录下VC中的LIB.EXE,LINK.EXE复制到sqlite-dll-win32-x86-3070500文件夹,
3)在网上下载mspdb60.dll,复制到sqlite-dll-win32-x86-3070500文件夹,
4)将Program Files\Microsoft Visual Studio 10.0\Common7\IDE内的mspdb100.dll复制到sqlite-dll-win32-x86-3070500文件夹。
5)在命令窗内运行命令进入sqlite-dll-win32-x86-3070500文件夹
6)执行LIB /DEF:SQLITE3.DEF /MACHINE:IX86或LIB /DEF:SQLITE3.DEF 即可生成sqlite3.lib文件。

 

VS2008工程方式配置:详细参见http://blog.csdn.net/cbNotes/article/details/32335475

1、如果出现找不到mspdb80.dll文件时,就从C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE目录copy一份过来。但是切记,编译完成后, 一定要把这个文件删除。否则你的VS2008的所有项目都会报一个错误:fatal error C1902: 程序数据库管理器不匹配;请检查安装解决

 

2、我在手动配置时,总是出现如下失败原因:

sqilte3本地编译失败原因整理_第1张图片

                       

 

找了很久没有找到原因,在此次失败原因是:无法打开“sqlite3.lib“文件。在VC/bin目录下操作时,确实没有该文件。

联想到在LIB编译时,会自动生成该文件,所以原因是因为是没有生成该文件。

在C盘目录下,存在文件保护机制,在一定情况下不允许直接操作C盘目录文件。需要有管理员权限。

   分析到此处,问题明了。在打开DOS窗口时没有采用以管理员的方式打开。导致lib时没有权限创建sqlite.lib文件。链接时就办法将资源链接进去。

 

         此问题解决后。编译成功

SQLite3.rar是编译完成,整体打包的一个目录。可以直接放入VS工程中

 

转载于:https://www.cnblogs.com/plus-new-fly-007/p/5469431.html

你可能感兴趣的:(数据库,操作系统,shell)