ODB
https://www.codesynthesis.com/products/odb/
安装build2-toolchain
或使用开发库 https://stage.build2.org/0/ 。参考The build2 Toolchain Installation and Upgrade进行安装。
- 复制已下载的文件到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-*
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
- 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
安装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 ..