生成vs2010可调试的sqlite3.lib
来源:互联网 发布:建筑软件上市公司 编辑:程序博客网 时间:2024/06/05 19:50
目前看到的大部分sqlite3.lib的生成方式,根据步骤所生成的库文件,无法正确调试,设置断点进去之后只能进到宏定义部分。本文目标是生成可正常调试的sqlite3.lib文件
参考博文:http://blog.csdn.net/mz02005/article/details/7095444
在http://www.sqlite.com/download.html上下载最新的的源代码格式:sqlite-src-3210000.zip
解压该包,新建vs2010项目,工程设置为静态库,无预编译头文件支持
将解压包中的src目录下文件包含到工程中,在工程中remove *test*文件, remove tclsqlite.c文件
此时编译应提示缺少头文件
打开main.mk发现文件编译需要文件:sqlite3.h parse.c opcodes.c 可以wordhash.h
最上方参考博文提出的方式是新建vs工程,参考main.mk中的生成命令,配置项目,声称相关文件
对vs2010不是特别熟悉,所以选择根据mainmk在ubuntu上编译出这几个文件
步骤:
1、复制解压出来的sqlite-src-3210000文件夹到ubuntu系统中
2、打开终端,进入sqlite-src-3210000文件夹,mkdir build,然后cd build
3、生成sqlite3.h:
cp ../src/sqlite.h .
cp ../maifest .
mksourceid ../VERSION ../ext/rtree/sqlite3rtree.h
tclsh ../tool/mksqlite3h.tcl ../ >sqlite3.h
4、生成lemon
cp ../tool/lempar.c .
gcc -g -O2 lemon ../tool/lemon.c
5、生成parse.c
cp ../src/parse.y .
rm -f parsh.h
./lemon -s -DSQLITE_ENABLE_FOO=1 -DSQLITE_OMIT_FOO=1 parse.y
mv parse.h parse.h.temp
tclsh ../tool/addopcodes.tcl parse.h.temp > parse.h
6、生成opcodes.c
cat parse.h ../src/vdbe.c | tclsh ../tool/mkopcodes.tcl >opcodes.h
tclsh ../tool/mkopcodec.tcl opcodes.h >opcodes.c
7、生成keywordhash.h
gcc -g -O2 -o mkkeywordhash -DSQLITE_ENABLE_FOO=1 -DSQLITE_OMIT_FOO=1 ../tool/mkkeywordhash.c
./mkkeywordhash > keywordhash.h
以上生成过程如果出现报错,请参考main.mk文件进行比较,以main.mk中生成方式为准
将以上生成的文件加入到vs2010工程中,build,将生成可调试的sqlite3.lib
如有提示缺少文件,请添加相关文件
阅读全文
0 0
- 生成vs2010可调试的sqlite3.lib
- 使用VS2010编译sqlite3,生成静态的sqlite3.lib
- vs2010编译生成sqlite3.lib库
- VS2010下SQLite3生成lib库文件
- VS2010下SQLite3生成lib库文件
- VS2010下SQLite3生成lib库文件
- sqlite3.lib文件的生成
- win7下vs2008,vs2010编译sqlite源码,生成sqlite3.lib
- 使用VS2017静态编译sqlite3,生成静态的sqlite3.lib
- vs2005生成sqlite3.lib
- sqlite3.lib编译生成
- 生成sqlite3.lib
- VS2010中MIRACL lib 的生成
- 根据sqlite3.def生成sqlite3.lib
- 在VS2010下由DEF和DLL文件生成SQLite3.lib
- VS2011下生成sqlite3.lib
- 用 sqlite3.dll 和 sqlite3.def 生成 sqlite3.lib
- VS2010生成静态库(.lib)
- 清除Chrome DNS缓存
- 深入理解Java虚拟机
- C++的基础知识(十六)--在字符串copy函数中引入辅助指针变量
- NEUQOJ:1365 弟弟的作业
- 天气预报插件
- 生成vs2010可调试的sqlite3.lib
- chrome-智能指针的用法
- 深入理解Java虚拟机
- Service Mesh 现在如此火热,你了解多少?
- 【python】【穆晨】【171222】连续第七十三天总结
- 对象与对象的关系初步理解
- 深度强化学习的 18 个关键问题 | PaperDaily #30
- 1082 与7无关的数
- 单表select *与select标明大多数字段性能基本一致