sql >> Databasteknik >  >> RDS >> Mysql

fatal error mysql.h:Ingen sådan fil eller katalog under kompileringen

Jag vet inte om det finns någon variation i ditt operativsystem. Min är Arch Linux, och jag har installerat mariaDB . I paketet finns ett program som heter 'mysql_config' som kan ge rätt sätt att kompilera ditt program. Genom att springa

$ 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]

du kan se programmets kontrollflaggor. Med ditt program använde jag följande:

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

och sedan, genom att köra det nya programmets 'main'

$./main
MySQL client version: 10.0.17-MariaDB

vilket helt klart löste sig!

Så jag är säker på att det finns några andra sätt att göra detta på, men nu är det bra för mig.

Tips

Kör kommandot

$mysql_config --libs --cflags

för att se exakt flaggorna som mysql_config producerar. Njut!



  1. PHP Ta bort flera rader med kryssrutan

  2. SQL_NO_CACHE för Postgresql?

  3. Begränsande returnerad post från SQL-fråga i Oracle

  4. MySQL &PHP - Inte unik tabell/alias