ODB
https://www.codesynthesis.com/products/odb/
安装build2-toolchain
或使用开发库 https://stage.build2.org/0/ 。参考The build2 Toolchain Installation and Upgrade (MSVC)进行安装。
在”x64 Native Tools Command Prompt for VS 2017”窗口:
复制已下载的文件到C:\build2-build\并校验
cd /d C:\build2-build
type *.sha256
for %f in (*.zip *.xz) do certutil -hashfile %f SHA256解压build2-baseutils-*-x86_64-windows.zip到C:\build2\,验证tar路径
set PATH=C:\build2\bin;%PATH%
where tar解压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++解压build2-toolchain-*.tar.xz到C:\build2-build\,运行批处理文件安装
tar -xJf build2-toolchain-*.tar.xz
cd build2-toolchain-*
.\build-msvc.bat --trust yes
准备Git库
mkdir D:\prj\odb
cd /d D:\prj\odb
代码库主要在以下两处
- https://git.build2.org/cgit/
- https://git.codesynthesis.com/cgit/
git clone以下代码库到D:\prj\odb
- libodb
https://git.codesynthesis.com/odb/libodb.git
- libmysqlclient
https://git.build2.org/packaging/mysql/libmysqlclient.git
- libmariadb
https://git.build2.org/packaging/mariadb/libmariadb.git
- libcutl
https://git.codesynthesis.com/libcutl/libcutl.git
- cli
https://git.codesynthesis.com/cli/cli.git
- libodb-mysql
https://git.codesynthesis.com/odb/libodb-mysql.git
- libstudxml
https://git.codesynthesis.com/libstudxml/libstudxml.git
- odb
https://git.codesynthesis.com/odb/odb.git
编译Common Runtime Library(libodb)
在”x64 Native Tools Command Prompt for VS 2017”窗口
set PATH=C:\build2\bin;%PATH%
cd /d D:\prj\odb\
ECHO ===== Building libodb-vs2017
mkdir libodb-vs2017
b config.cxx=cl config.cc.coptions="/O2" config.install.root="install/libodb-vs2017/" "configure(libodb/@libodb-vs2017/)"
cd libodb-vs2017
b install
cd ..
编译libmysqlclient(编译libodb-mysql需要)
在”x64 Native Tools Command Prompt for VS 2017”窗口
ECHO ===== Building libmysqlclient-vs2017
mkdir libmysqlclient-vs2017
b config.cxx=cl config.cc.coptions="/O2 /wd4819" "configure(libmysqlclient/@libmysqlclient-vs2017/)"
b libmysqlclient-vs2017/
编译libmariadb(编译libodb-mysql需要)
在”x64 Native Tools Command Prompt for VS 2017”窗口
ECHO ===== Building libmariadb-vs2017
mkdir libmariadb-vs2017
b config.cxx=cl config.cc.coptions="/O2 /wd4819" "configure(libmariadb/@libmariadb-vs2017/)"
b libmariadb-vs2017/
安装libcutl(安装cli需要)
在”x64 Native Tools Command Prompt for VS 2017”窗口
ECHO ===== Installing libcutl-vs2017
mkdir libcutl-vs2017
b config.cxx=cl config.install.root=C:\build2 config.cc.coptions="/O2" "configure(libcutl/@libcutl-vs2017/)"
cd libcutl-vs2017/
b install
cd ..
安装cli(编译libodb-mysql需要)
在”x64 Native Tools Command Prompt for VS 2017”窗口
ECHO ===== Installing cli-vs2017
mkdir cli-vs2017
b config.cxx=cl config.install.root=C:\build2 config.cc.coptions="/O2" config.import.libcutl=libcutl-vs2017/ "configure(cli/@cli-vs2017/)"
cd cli-vs2017
b install
cd ..
编译Database Runtime Libraries for MySQL(libodb-mysql)
使用libmysqlclient
ECHO ===== Building libodb-mysql-vs2017
mkdir libodb-mysql-vs2017
cd libodb-mysql
git checkout -f master --
cd ..
b config.cxx=cl config.cli=C:\build2\bin\cli.exe config.cc.coptions="/O2" config.import.libmysqlclient=libmysqlclient-vs2017/ config.import.libodb=libodb-vs2017/ config.install.root="install/libodb-mysql-vs2017/" "configure(libodb-mysql/@libodb-mysql-vs2017/)"
cd libodb-mysql-vs2017
b install
cd ..使用libmariadb,要创建git分支mariadb做以下修改
2.1. 修改manifest
-depends: libmysqlclient ^5.0.3
+depends: libmariadb ^10.2.2
2.2. 修改odb\mysql\buildfile
-client_lib = 'mysql'
-#client_lib = 'mariadb'
+#client_lib = 'mysql'
+client_lib = 'mariadb'
2.3. 在”x64 Native Tools Command Prompt for VS 2017”窗口
ECHO ===== Building libodb-mariadb-vs2017
mkdir libodb-mariadb-vs2017
cd libodb-mysql
git checkout -f mariadb --
cd ..
b config.cxx=cl config.cli=C:\build2\bin\cli.exe config.cc.coptions="/O2" config.import.libmariadb=libmariadb-vs2017/ config.import.libodb=libodb-vs2017/ config.install.root="install/libodb-mariadb-vs2017/" "configure(libodb-mysql/@libodb-mariadb-vs2017/)"
cd libodb-mariadb-vs2017
b install
cd ..
编译libstudxml(安装odb需要)
在”x64 Native Tools Command Prompt for VS 2017”窗口
ECHO ===== Building libstudxml-vs2017
mkdir libstudxml-vs2017
b config.cxx=cl config.cc.coptions="/O2" "configure(libstudxml/@libstudxml-vs2017/)"
b libstudxml-vs2017/
安装ODB Compiler(odb)
目前ODB compiler代码编译暂不可用。下载旧版本odb-2.4.0-i686-windows.zip解压安装即可。
在”x64 Native Tools Command Prompt for VS 2017”窗口
ECHO ===== Installing odb-vs2017
mkdir odb-vs2017
b config.cxx=cl config.cli=C:\build2\bin\cli.exe config.cc.coptions="/O2" config.import.libstudxml=libstudxml-vs2017/ config.import.libcutl=libcutl-vs2017/ "configure(odb/@odb-vs2017/)"
cd odb-vs2017
b install
cd ..