Mysql
 sql >> база данни >  >> RDS >> Mysql

фатална грешка mysql.h:Няма такъв файл или директория по време на компилацията

Не знам дали има някаква вариация във вашата операционна система. Моят е Arch Linux и инсталирах mariaDB . В рамките на пакета има програма, наречена 'mysql_config', която може да осигури правилния начин за компилиране на вашата програма. Чрез бягане

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

$./main
MySQL client version: 10.0.17-MariaDB

което явно се получи!

Така че, сигурен съм, че има няколко други начина да направя това, но сега това е добре за мен.

Съвет

Изпълнете командата

$mysql_config --libs --cflags

за да видите точно флаговете, които mysql_config произвежда. Насладете се!



  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 - Присъединете се към 2 таблици

  2. избиране на редове, които са се появили повече от три пъти

  3. Използване на OpenVPN за защитен достъп до вашия клъстер от база данни в облака

  4. Поръчване на MySQL резултат, зададен от MAX() стойност на друга таблица

  5. SQL - Как да транспонирам?