Files
TinyORM/docs/dependencies.mdx
2024-08-07 13:00:14 +02:00

70 lines
2.4 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 5.15.2 and >=6.2. 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 ~5.15.2~ and >=6.2.
##### Required
- minimum ISO C++ standard is C++20
- >= [Qt Framework 6.2](https://www.qt.io/download-qt-installer) - [`QtCore`](https://doc.qt.io/qt-6/qtcore-module.html) and [`QtSql`](https://doc.qt.io/qt-6/qtsql-index.html) modules
- >= [range-v3 0.11.0](https://github.com/ericniebler/range-v3)
- [tabulate](https://github.com/p-ranav/tabulate)
:::danger
Support for __Qt v5.15__ was removed 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
- >= [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.0/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>