我如何解决这个错误?错误信息:无法找到库 -lmysqlclient。

8 浏览
0 Comments

我如何解决这个错误?错误信息:无法找到库 -lmysqlclient。

我想要为我的程序进行编译,但我在这里卡住了。我使用的是FreeBSD 12.1和gcc++6.4 + GNU gmake -j20命令。

当前路径:

# mysql

INCDIR += -I../../../extern/mysql

LIBDIR += -L/usr/local/lib/mysq

LIBS += -lmysqlclient -lz -pthread -lm -lssl -lcrypto

### END

在Putty中出现错误:

root@vps:/usr/src/Sursa/Server/source/game/src # gmake -j20
linking ../game
ld: error: 无法找到库 -lmysqlclient
c++: error: 链接器命令执行失败,退出码为1(使用-v查看调用)
gmake: *** [Makefile:228: ../game] Error 1
root@vps:/usr/src/Sursa/Server/source/game/src #
root@vps:/usr/src/Sursa/Server/source/game/src #

我更正了一处拼写错误,现在我得到了这个错误:

root@vps:/usr/src/Sursa/Server/source/game/src # gmake -j20
linking ../game
ld: error: /usr/local/lib/mysql/libmysqlclient.a(client.c.o)与elf_i386_fbsd不兼容
ld: error: /usr/local/lib/mysql/libmysqlclient.a(libmysql.c.o)与elf_i386_fbsd不兼容
ld: error: /usr/local/lib/mysql/libmysqlclient.a(crypt_genhash_impl.cc.o)与elf_i386_fbsd不兼容
c++: error: 链接器命令执行失败,退出码为1(使用-v查看调用)
gmake: *** [Makefile:228: ../game] Error 1
root@vps:/usr/src/Sursa/Server/source/game/src #

0
0 Comments

问题出现的原因是在代码中出现了一个拼写错误,缺少了`l`,正确的应该是`-L/usr/local/lib/mysql`。

解决方法是确保已安装了`mysql57-client`软件包,如果没有安装,可以运行`pkg install mysql57-client`来安装。

此外,通常情况下,`/usr/src`目录用于存储FreeBSD的源代码,不建议将自己的代码存储在该目录中。

当出现不同的错误时,需要提出不同的问题。

"typo"是指"typographic error",你在`mysq`的末尾缺少了`l`。

我安装了MySQL 5.7,但是在连接本地MySQL服务器时出现了错误`ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'`。

不要这样做,请再次编辑并恢复到之前的版本。这个网站的目的不是聊天,而是为未来的读者提供解决问题的地方。如果你像你这样更改东西,那么目标就会被混淆所丧失。

如果你的原始问题的解决方案是通过这个答案解决的,请接受它

0