ORM:ODB安装使用过程

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 1.下载odb-2.4.0-i686-windows,是cpp和sql文件生成工具,已经编译好了,如果下odb-2.4.0估计是未编译好的这个项目;   2.将...\odb-2.4.0-i686-windows\bin添加到环境变量Path,以便能使用odb.

1.下载odb-2.4.0-i686-windows,是cpp和sql文件生成工具,已经编译好了,如果下odb-2.4.0估计是未编译好的这个项目;

 
2.将...\odb-2.4.0-i686-windows\bin添加到环境变量Path,以便能使用odb.exe进行命令生成文件;
 
3.cmd进入到HelloWorld的person.hxx的同目录,输入odb -d mysql --generate-query person.hxx

生成person-odb.cxx、person-odb.hxx、person-odb.ixx三个文件;

 

3.下载libodb-2.4.0,这个是普通的lib,编译;


4.下载libodb-sqlite-2.4.0,这个是用sqlite数据库用到的,如果需要用mysql数据库,就得下载libodb-mysql-2.4.0版本的,特别注意,在libodb-sqlite-2.4.0项目有一个 LIBODB_SQLITE_DYNAMIC_LIB预处理宏,如果在编译sqlite.lib时没有添加 SQLITE_ENABLE_UNLOCK_NOTIFY预处理宏,编译libodb-sqlite-2.4.0就会报错,所找不到connection函数的定义,我是直接下载别人编译好的sqlite.lib,就出现了这问题,估计是没有添加这个预处理宏了,那怎么办,那就将libodb-sqlite-2.4.0项目的LIBODB_SQLITE_DYNAMIC_LIB预处理宏定义去掉,就可以成功编译通过。
 
5.odb -d mysql --generate-query --generate-schema person.hxx(手册里用这句生成了person.sql,而换成sqlite的话又没有东西生成,估计sqlite不需要吧)。
 
6.在官网提供的hello例子项目里添加:
...........\odb2.4.0\libodb-2.4.0;
............\odb2.4.0\libodb-sqlite-2.4.0;
.............\sqlite3;
头文件导入目录,其中省略号为你的文件夹对应的路径。
lib目录也是需要的:
..............\odb2.4.0\libodb-2.4.0\lib;
...............\odb2.4.0\libodb-sqlite-2.4.0\lib
同事也得添加依赖:
odb-sqlite-d.lib
odb-d.lib
 
之后就可以运行了!
 
ODB Compiler为ODB生成数据库支持代码文件工具,下windows版本即可;(必须)
Common Runtime Libraries 核心lib库;(必须)
Database Runtime Libraries 数据库lib库;(必须,下自己需要用到的数据库对应的版本即可)
其他的随意。
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
94
分享
相关文章
好工具推荐系列:VC++开发必备神器 -- Dependencies,查看依赖库DLL,支持win10,比depends更好用
好工具推荐系列:VC++开发必备神器 -- Dependencies,查看依赖库DLL,支持win10,比depends更好用
3326 0
好工具推荐系列:VC++开发必备神器 -- Dependencies,查看依赖库DLL,支持win10,比depends更好用
Inno setup 脚本判断 Microsoft Visual C++ Redistributable 不同版本区别
Inno setup 脚本判断 Microsoft Visual C++ Redistributable 不同版本区别
Linux上sqlite的安装和使用方法以及在QT中如何使用sqlite&笔记总结
Linux上sqlite的安装和使用方法以及在QT中如何使用sqlite&笔记总结
QtCreator 跨平台开发添加动态库教程(以OpenCV库举例)- Windows篇
该文档介绍了Qt的跨平台特性,并推荐在Windows和Linux开发中使用QtCreator。在Windows下添加动态库,可以通过Visual Studio配置.lib文件和.dll文件,或在QtCreator中使用"添加库"功能。在QtCreator中,选择库文件、包含路径,并配置Details,然后更新.pro文件,清除、qmake及构建项目。运行时确保.dll与.exe在同一目录下。
296 0
QtCreator 跨平台开发添加动态库教程(以OpenCV库举例)- Windows篇
Ubuntu下Qt编程,从QT的安装到编写notepad
Ubuntu下Qt编程,从QT的安装到编写notepad
119 0
Visual Studio配置并编译C++环境下GDAL库、SQLite环境与PROJ库的方法
Visual Studio配置并编译C++环境下GDAL库、SQLite环境与PROJ库的方法
490 1
Qt+GDAL开发笔记(二):在windows系统msvc207x64编译GDAL库、搭建开发环境和基础Demo
上一篇使用mingw32版本的gdal,过程曲折,为更好的更方便搭建环境,在windows上msvc方式对于库比较友好。
Qt+GDAL开发笔记(一):在windows系统mingw32编译GDAL库、搭建开发环境和基础Demo
麒麟系统上做全球北斗定位终端开发,调试工具要做一个windows版本方便校对,北斗GPS发过来的是大地坐标,应用需要的是经纬度坐标,所以需要转换,可以使用公式转换,但是之前涉及到了另一个shang市公司项目使用WG,最终选择了GDAL库进行转换。
Linux驱动开发笔记(三):基于ubuntu的helloworld驱动源码编写、makefile编写以及驱动编译加载流程测试
前面学习了驱动的基础框架,上一篇编译了gcc7.3.0,那么为了方便很好的熟悉流程,本篇,将使用ubuntu18.04,直接编译ubuntu18.04的驱动,然后做好本篇文章的相关实战测试。
【Linux】第五篇——Linux环境下的工具(三)(make/Makefile+进度条小程序)
【Linux】第五篇——Linux环境下的工具(三)(make/Makefile+进度条小程序)
【Linux】第五篇——Linux环境下的工具(三)(make/Makefile+进度条小程序)