sql >> データベース >  >> RDS >> Mysql

致命的なエラーmysql.h:コンパイル中にそのようなファイルまたはディレクトリはありません

    運用システムに多少のばらつきがあるかどうかはわかりません。私はArchLinuxであり、mariaDB をインストールしました。 。パッケージ内には、プログラムをコンパイルする正しい方法を提供できる「mysql_config」と呼ばれるプログラムがあります。 runnigによって

    $ mysql_config --help
    Usage: /usr/bin/mysql_config [OPTIONS]
    Options:
        --cflags         [-I/usr/include/mysql]
        --include        [-I/usr/include/mysql]
        --libs           [-L/usr/lib -lmysqlclient -lpthread -lz -lm -lssl   -lcrypto -ldl]
        --libs_r         [-L/usr/lib -lmysqlclient_r -lpthread -lz -lm -lssl -lcrypto -ldl]
        --plugindir      [/usr/lib/mysql/plugin]
        --socket         [/run/mysqld/mysqld.sock]
        --port           [0]
        --version        [10.0.17]
        --libmysqld-libs [-L/usr/lib -lmysqld]
        --variable=VAR   VAR is one of:
                pkgincludedir [/usr/include/mysql]
                pkglibdir     [/usr/lib]
                plugindir     [/usr/lib/mysql/plugin]
    

    プログラムの制御フラグを確認できます。あなたのプログラムで、私は以下を使用しました:

    $gcc main.c -o main $(mysql_config --libs --cflags)
    

    次に、新しいプログラム「メイン」を実行します

    $./main
    MySQL client version: 10.0.17-MariaDB
    

    明らかにうまくいきました!

    ですから、これを行う方法は他にもいくつかあると思いますが、今ではこれで問題ありません。

    ヒント

    コマンドを実行します

    $mysql_config --libs --cflags
    

    mysql_configが生成する正確なフラグを確認します。お楽しみください!



    1. エンティティ属性値モデル-パフォーマンスの代替?

    2. MySQL-ORDERDESCが機能しないGROUPBY

    3. mysql_ *関数を使用してMySQL結果セットを複数回ループするにはどうすればよいですか?

    4. PHPを介したMySQLデータからJSONへ