我正在研究Tinker board,它是运行Debian 9.8的基于ARM的PCB。 Debian 9从MySQL 5.5迁移到MariaDB 10.1。另请参见Moving from MySQL to MariaDB in Debian 9。
我在Debian 9上编译和链接程序时遇到问题。同一程序在安装了MariaDB 10的Fedora 29上编译并链接。
cc -o calltest.exe -Wall -D_GNU_SOURCE -g2 -O1 -std=c99 -pthread call.c d
atabase.c files.c mbuffer.c modem.c signal.c terminal.c timer.c version.c -
lmariadbclient -lrt
database.c: In function ‘database_open’:
database.c:46:11: warning: implicit declaration of function ‘mysql_optionsv’ [-Wimplicit-function-declaration]
(void)mysql_optionsv(s_mysql, MYSQL_OPT_LOCAL_INFILE, NULL);
^~~~~~~~~~~~~~
/tmp/ccp0KmpC.o: In function `database_open':
/home/test/database.c:46: undefined reference to `mysql_optionsv'
/home/test/database.c:47: undefined reference to `mysql_optionsv'
/home/test/database.c:48: undefined reference to `mysql_optionsv'
/home/test/database.c:49: undefined reference to `mysql_optionsv'
/home/test/database.c:50: undefined reference to `mysql_optionsv'
collect2: error: ld returned 1 exit status
Makefile:20: recipe for target 'calltest.exe' failed
这是mysql_optionsv
的MariaDB文档,但不提供标题或库信息。
搜索符号未返回任何匹配。我想知道我是否错过了某个地方的包裹:
$ grep -IR mysql_optionsv /usr/include/
$
我们应该在Debian 9.8上使用什么头文件和库?
我已经安装了以下软件包。我不确定是否需要安装其他东西。 Debian页面上不清楚开发人员应该做什么。