用Visual Studio 2015/2017编译ODB: C++ Object-Relational Mapping (ORM)

1 篇文章 0 订阅
1 篇文章 0 订阅

ODB

https://www.codesynthesis.com/products/odb/

安装build2-toolchain

或使用开发库 https://stage.build2.org/0/ 。参考The build2 Toolchain Installation and Upgrade进行安装。

  1. 复制已下载的文件到C:\build2-build\并校验
CD /d C:\build2-build
TYPE *.sha256
FOR %f in (*.zip *.xz) DO certutil -hashfile %f SHA256
  1. 解压build2-baseutils-*-x86_64-windows.zip到C:\build2\,验证tar路径
SET PATH=C:\build2\bin;%PATH%
where tar
  1. 解压build2-mingw-*-x86_64-windows.tar.xz到C:\build2\,验证g++路径
tar -xJf build2-mingw-*-x86_64-windows.tar.xz --one-top-level=C:\build2 --strip-components=1
where g++
  1. 解压build2-toolchain-*.tar.xz到C:\build2-build\,运行批处理文件安装
tar -xJf build2-toolchain-*.tar.xz
CD build2-toolchain-*
CALL .\build-mingw.bat --trust yes --timeout 3600 --make mingw32-make --make -j8 g++

准备Git库

MD D:\prj\odb
CD /d D:\prj\odb

代码库主要在以下两处

git clone以下代码库到D:\prj\odb

安装libcutl(安装cli和ODB compiler需要)

SET PATH=C:\build2\bin;%PATH%
ECHO ===== Installing libcutl-gcc
MD libcutl-gcc
b config.cxx=g++ config.cc.coptions="-O2" config.install.root=C:\build2 "configure(libcutl/@libcutl-gcc/)"
CD libcutl-gcc/
b install
CD ..

安装cli(安装ODB compiler需要)

ECHO ===== Installing cli-gcc
MD cli-gcc
b config.cxx=g++ config.cc.coptions="-O2" config.import.libcutl=libcutl-gcc/ config.install.root=C:\build2 "configure(cli/@cli-gcc/)"
CD cli-gcc
b install
CD ..

安装libstudxml(安装ODB compiler需要)

ECHO ===== Installing libstudxml-gcc
MD libstudxml-gcc
b config.cxx=g++ config.cc.coptions="-O2" config.install.root=C:\build2 "configure(libstudxml/@libstudxml-gcc/)"
CD libstudxml-gcc
b install
CD ..

安装ODB Compiler

ECHO ===== Installing odb-gcc
MD odb-gcc
b config.cxx=g++ config.cc.coptions="-O2" config.cli=C:\build2\bin\cli.exe config.import.libstudxml=libstudxml-gcc/ config.import.libcutl=libcutl-gcc/ config.install.root=C:\build2 "configure(odb/@odb-gcc/)"
CD odb-gcc
b install
CD ..

安装Common Runtime Library(libodb)

在"x64 Native Tools Command Prompt for VS"窗口

set PATH=C:\build2\bin;%PATH%
CD /d D:\prj\odb\
ECHO ===== Installing libodb-msvc
MD libodb-msvc
b config.cxx=cl config.cc.coptions="/O2 /MD" config.install.root=Release/ "configure(libodb/@libodb-msvc/)"
CD libodb-msvc
b install
CD ..
ECHO ===== Installing libodb-msvcdbg
MD libodb-msvcdbg
b config.cxx=cl config.cc.coptions="/Od /MDd /Zi" config.cc.loptions=/DEBUG config.install.root=Debug/ "configure(libodb/@libodb-msvcdbg/)"
CD libodb-msvcdbg
b install
CD ..

安装libmysqlclient(安装libodb-mysql需要)

在"x64 Native Tools Command Prompt for VS"窗口

ECHO ===== Installing libmysqlclient-msvc
MD libmysqlclient-msvc
b config.cxx=cl config.cc.coptions="/O2 /MD /wd4819" config.install.root=Release/mysql "configure(libmysqlclient/@libmysqlclient-msvc/)"
CD libmysqlclient-msvc
b install
CD ..
ECHO ===== Installing libmysqlclient-msvcdbg
MD libmysqlclient-msvcdbg
b config.cxx=cl config.cc.coptions="/Od /MDd /Zi /wd4819" config.cc.loptions=/DEBUG config.install.root=Debug/mysql "configure(libmysqlclient/@libmysqlclient-msvcdbg/)"
CD libmysqlclient-msvcdbg
b install
CD ..

安装Database Runtime Libraries for MySQL(libodb-mysql)

在"x64 Native Tools Command Prompt for VS"窗口

ECHO ===== Installing libodb-mysql-msvc
MD libodb-mysql-msvc
CD libodb-mysql
git.exe checkout -f --track -B master remotes/origin/master --
CD ..
b config.cxx=cl config.cc.coptions="/O2 /MD" config.cli=C:\build2\bin\cli.exe config.import.libmysqlclient=libmysqlclient-msvc/ config.import.libodb=libodb-msvc/ config.install.root=Release/mysql "configure(libodb-mysql/@libodb-mysql-msvc/)"
CD libodb-mysql-msvc
b install
CD ..
ECHO ===== Installing libodb-mysql-msvcdbg
MD libodb-mysql-msvcdbg
b config.cxx=cl config.cc.coptions="/Od /MDd /Zi" config.cc.loptions=/DEBUG config.cli=C:\build2\bin\cli.exe config.import.libmysqlclient=libmysqlclient-msvcdbg/ config.import.libodb=libodb-msvcdbg/ config.install.root=Debug/mysql "configure(libodb-mysql/@libodb-mysql-msvcdbg/)"
CD libodb-mysql-msvcdbg
b install
CD ..

安装libmariadb(安装libodb-mariadb需要)

在"x64 Native Tools Command Prompt for VS"窗口

ECHO ===== Installing libmariadb-msvc
MD libmariadb-msvc
b config.cxx=cl config.cc.coptions="/O2 /MD /wd4819" config.install.root=Release/mariadb "configure(libmariadb/@libmariadb-msvc/)"
CD libmariadb-msvc
b install
CD ..
ECHO ===== Installing libmariadb-msvcdbg
MD libmariadb-msvcdbg
b config.cxx=cl config.cc.coptions="/Od /MDd /Zi /wd4819" config.cc.loptions=/DEBUG config.install.root=Debug/mariadb "configure(libmariadb/@libmariadb-msvcdbg/)"
CD libmariadb-msvcdbg
b install
CD ..

安装Database Runtime Libraries for MariaDB(libodb-mariadb)

安装libodb-mysql时用libmariadb替换libmysqlclient,要在libodb-mysql创建git分支mariadb做以下修改

  • 修改manifest
-depends: libmysqlclient ^5.0.3
+depends: libmariadb ^10.2.2
  • 修改odb\mysql\buildfile
-client_lib = 'mysql'
-#client_lib = 'mariadb'
+#client_lib = 'mysql'
+client_lib = 'mariadb'
  • 在"x64 Native Tools Command Prompt for VS"窗口
ECHO ===== Installing libodb-mariadb-msvc
MD libodb-mariadb-msvc
CD libodb-mysql
git checkout -f mariadb --
CD ..
b config.cxx=cl config.cc.coptions="/O2 /MD" config.cli=C:\build2\bin\cli.exe config.import.libmariadb=libmariadb-msvc/ config.import.libodb=libodb-msvc/ config.install.root=Release/mariadb "configure(libodb-mysql/@libodb-mariadb-msvc/)"
CD libodb-mariadb-msvc
b install
CD ..
ECHO ===== Installing libodb-mariadb-msvcdbg
MD libodb-mariadb-msvcdbg
CD libodb-mysql
git checkout -f mariadb --
CD ..
b config.cxx=cl config.cc.coptions="/Od /MDd /Zi" config.cc.loptions=/DEBUG config.cli=C:\build2\bin\cli.exe config.import.libmariadb=libmariadb-msvcdbg/ config.import.libodb=libodb-msvcdbg/ config.install.root=Debug/mariadb "configure(libodb-mysql/@libodb-mariadb-msvcdbg/)"
CD libodb-mariadb-msvcdbg
b install
CD ..
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值