Tôi không biết nếu có một số thay đổi trong hệ thống hoạt động của bạn. Của tôi là Arch Linux và tôi đã cài đặt mariaDB . Trong gói, có một chương trình được gọi là 'mysql_config' có thể cung cấp cách biên dịch chương trình phù hợp của bạn. Bởi runnig
$ 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]
bạn có thể thấy các cờ điều khiển của chương trình. Với chương trình của bạn, tôi đã sử dụng như sau:
$gcc main.c -o main $(mysql_config --libs --cflags)
và sau đó, chạy chương trình mới 'main'
$./main
MySQL client version: 10.0.17-MariaDB
rõ ràng đã hoạt động!
Vì vậy, tôi chắc chắn rằng có một số cách khác để làm điều này, nhưng bây giờ điều này là ổn đối với tôi.
Mẹo
Chạy lệnh
$mysql_config --libs --cflags
để xem các cờ chính xác mà mysql_config tạo ra. Hãy tận hưởng!