Files
TinyORM/docs/dependencies.mdx
silverqx 586de7fa64 upgraded to MySQL v9.1
- workflows, tools, docs, qmake, ...
2024-10-17 17:49:36 +02:00

71 lines
2.5 KiB
Plaintext

---
sidebar_position: 1
sidebar_label: 🔧 Dependencies
hide_table_of_contents: true
description: Library dependencies are MySQL Connector/C 8, range-v3 >=0.11.0, tabulate and the Qt framework version used during development was >=6.4. The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 11.2-14.2, and Clang 11-18.
keywords: [c++ orm, dependencies, tinyorm]
---
import Link from '@docusaurus/Link'
# Dependencies
The code was developed on MSVC 16.9-16.11, MSVC 17.2-17.9, GCC 11.2-14.2, and Clang 11-18, so may be assumed it will work on future releases of these compilers. Minimum required ISO C++ standard is C++20.
The Qt framework version used during development was `>=6.4`.
##### Required
- minimum ISO C++ standard is [C++20](https://en.cppreference.com/w/cpp/20) <small>[[1](https://en.wikipedia.org/wiki/C++20)]</small>
- &gt;= [Qt Framework v6.4](https://www.qt.io/download-qt-installer-oss) - [`QtCore`](https://doc.qt.io/qt/qtcore-module.html) and [`QtSql`](https://doc.qt.io/qt/qtsql-index.html) modules
- &gt;= [range-v3 0.11.0](https://github.com/ericniebler/range-v3)
- [tabulate](https://github.com/p-ranav/tabulate)
##### Removed Support
- __Qt &lt;6.4__ since __TinyORM v0.39.0__
- __Qt v5.15__ since __TinyORM v0.38.0__ 🎉🙌
:::warning
Be aware that the standard support for the last release of the __Qt v5__ series ended on __26. May 2023__. [[1](https://endoflife.date/qt)][[2](https://www.qt.io/blog/qt-5.15-support-ends)]
:::
##### Optional
- &gt;= [MySQL Connector/C 8](https://dev.mysql.com/downloads/c-api/) - used only for the [`mysql_ping`](https://dev.mysql.com/doc/c-api/9.1/en/mysql-ping.html) function and provided by [MySQL 8 Server](https://dev.mysql.com/downloads/mysql/)
:::info
The `TinyORM` will support `Qt` versions that aren't [end-of-life](https://endoflife.date/qt).
:::
:::note
You can view the supported database servers in the [Database - Getting Started](database/getting-started.mdx#introduction) section.
:::
### Install dependencies
On `Linux`, you can install dependencies with the package manager.
<small>
```text title='MySQL C library'
Arch - pacman -S mariadb-libs
Gentoo - emerge dev-db/mysql (package.use: -server -perl)
Ubuntu - apt install libmysqlclient-dev
```
```text title='range-v3 library (header only)'
Arch - pacman -S range-v3
Gentoo - emerge dev-cpp/range-v3
Ubuntu - apt install librange-v3-dev
```
<Link id='linux-installation-ccache' />
```text title='ccache'
Arch - pacman -S ccache
Gentoo - emerge dev-util/ccache
Ubuntu - apt install ccache
```
</small>