Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

erro fatal mysql.h:Nenhum arquivo ou diretório durante a compilação


Não sei se há alguma variação no seu sistema operacional. O meu é o Arch Linux e instalei o mariaDB . Dentro do pacote, existe um programa chamado 'mysql_config' que pode fornecer a maneira correta de compilar seu programa. Por correr
$ 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]

você pode ver os sinalizadores de controle do programa. Com o seu programa, usei o seguinte:
$gcc main.c -o main $(mysql_config --libs --cflags)

e então, executando o novo programa 'main'
$./main
MySQL client version: 10.0.17-MariaDB

que claramente deu certo!

Então, tenho certeza de que existem algumas outras maneiras de fazer isso, mas agora isso é bom para mim.

Dica


Execute o comando
$mysql_config --libs --cflags

para ver exatamente os sinalizadores que mysql_config produz. Apreciar!