Mysql
 sql >> Baza danych >  >> RDS >> Mysql

błąd krytyczny mysql.h:Brak takiego pliku lub katalogu podczas kompilacji

Nie wiem, czy jest jakaś zmiana w twoim systemie operacyjnym. Mój to Arch Linux i zainstalowałem mariaDB . W pakiecie znajduje się program o nazwie „mysql_config”, który może zapewnić właściwy sposób kompilacji programu. Biegnąc

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

możesz zobaczyć flagi kontrolne programu. W twoim programie użyłem następującego:

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

a następnie, uruchamiając nowy program 'main'

$./main
MySQL client version: 10.0.17-MariaDB

co najwyraźniej się udało!

Jestem więc pewien, że istnieje kilka innych sposobów na zrobienie tego, ale teraz jest to dla mnie w porządku.

Wskazówka

Uruchom polecenie

$mysql_config --libs --cflags

aby zobaczyć dokładnie flagi, które tworzy mysql_config. Ciesz się!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql Gdzie nie używać dwóch kolumn

  2. Klucz obcy MySQL InnoDB między różnymi bazami danych

  3. Jak policzyć wszystkie wiersze przy użyciu SELECT z LIMIT w zapytaniu MySQL?

  4. MySQL Workbench ignoruje klucze obce

  5. Jaka jest różnica między liczbą całkowitą a liczbą całkowitą w MySQL 5.0?