<AI>
ManjaroでQt6を使ってMariaDB(MySQL)に接続するには、
MariaDBのクライアントライブラリと、Qt6用のSQLドライバ(QMYSQL)をインストール・設定する必要があります。

以下の手順で進めてください。

1. MariaDBサーバーとクライアントライブラリのインストール

まず、データベース本体と、Qtが接続に使うクライアントライブラリをインストールします。
bash

sudo pacman -Syu
sudo pacman -S mariadb mariadb-clients

インストール後、MariaDBサービスを開始・有効化します。
bash

# インストール直後の初期設定(必要に応じて)
sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

# サービス開始
sudo systemctl start mariadb
sudo systemctl enable mariadb

2. Qt6用MySQLドライバのインストール

Manjaro/Arch Linuxでは、公式パッケージでQt6のMySQLドライバーが提供されている場合が多いです。
bash

sudo pacman -S qt6-base

通常、qt6-base にはMariaDB用ドライバが含まれていますが、
接続時に「Driver not loaded」と出る場合は、mariadb-libs が必要です。
bash

sudo pacman -S mariadb-libs

3. Qt6 (CMake) プロジェクトの設定

CMakeLists.txt にSQLモジュールを追加します。
cmake

find_package(Qt6 REQUIRED COMPONENTS Sql)
target_link_libraries(your_project_name PRIVATE Qt6::Sql)

4. 接続コード(C++)

Qt6でMariaDBに接続する際のコード例です。ドライバー名は QMYSQL を使用します。
cpp

#include 
#include 
#include 
#include 

void connectToDB() {
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1"); // または localhost
    db.setDatabaseName("your_database_name");
    db.setUserName("your_username");
    db.setPassword("your_password");
    db.setPort(3306);

    if (!db.open()) {
        qDebug() << "Database Error:" << db.lastError().text();
    } else {
        qDebug() << "Connected to MariaDB!";
    }
}

トラブルシューティング: "QMYSQL driver not loaded"
もし接続時にこのエラーが出る場合は、以下の点を確認してください。

ライブラリの欠落: 必要なパッケージがインストールされていない。
    bash

    sudo pacman -S mariadb-libs

ドライバファイルがQtのプラグインフォルダにない:
    Arch/Manjaroパッケージを使用していれば通常解決しますが、手動でビルドしたQtを使用している場合は、
    qtbase/src/plugins/sqldrivers/mysql からプラグインをコンパイルする必要があります。

互換性問題: MariaDBライブラリのバージョンが新しすぎる場合、シンボリックリンクで互換性を持たせる必要がある場合があります。
    bash

    # 例:libmysqlclient.so.21 を探している場合
    sudo ln -s /usr/lib/libmariadb.so /usr/lib/libmysqlclient.so.21



基本的には pacman で qt6-base と mariadb-libs をインストールすれば、
特別な追加コンパイルなしで動作するはずです。