<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 をインストールすれば、 特別な追加コンパイルなしで動作するはずです。