sql >> Databáze >  >> RDS >> Mysql

fatální chyba mysql.h:Žádný takový soubor nebo adresář během kompilace

Nevím, jestli existuje nějaká odchylka ve vašem operačním systému. Můj je Arch Linux a nainstaloval jsem mariaDB . V balíčku je program nazvaný 'mysql_config', který může poskytnout správný způsob kompilace vašeho programu. Spuštěním

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

můžete vidět ovládací příznaky programu. S vaším programem jsem použil následující:

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

a poté spuštěním nového programu 'main'

$./main
MySQL client version: 10.0.17-MariaDB

což se jednoznačně povedlo!

Jsem si tedy jistý, že existuje několik dalších způsobů, jak to udělat, ale teď je to pro mě v pořádku.

Tip

Spusťte příkaz

$mysql_config --libs --cflags

abyste viděli přesně ty příznaky, které mysql_config vytváří. Užijte si to!



  1. Velké tabulky MySQL

  2. 7 faktů o synonymech SQL Server, která byste měli vědět

  3. MySql - Existuje někde fronta dotazů

  4. Chyba dotazu MySQL 1054