我正在尝试编译一个 C++ 程序,其中一个类使用 . g++ 无法找到库是我的猜测。我用来编译的命令是 -

g++ c1.cpp c2.cpp c3.cpp c4.cpp -o c4 -lm -lmysqlclient

c3.cpp是需要mysql.h的文件。这个 在我的本地机器上完美运行 ,但拒绝在服务器上运行并出现错误
cannot find -lmysqlclient

我尝试使用 find 命令在服务器上查找 libmysqlclient.so 文件,我认为它们不存在
uname -a

揭示
SunOS opteron 5.10 Generic_139556-08 i86pc i386 i86pc
user@opteron 12:26:02 ~/c++/projname/

我意识到我需要链接一些库,但是在哪里以及如何链接?

任何帮助,将不胜感激。
谢谢。

最佳答案

您认为未安装的任何库包都可以使用 sudo apt-get install 安装。但问题是要找到apt-get 可以理解的包的正确名称。那怎么办?!简单的

使用命令:sudo apt-cache search <filename>
例如:在这种情况下 lmysqlclient

sudo apt-cache search mysqlclient

(记住从实际名称中排除“l”,即 mysqlclient 而不是 lmysqlclient)。
这输出:
libmysqlclient-dev - MySQL database development files

上面-libmysqlclient-devapt-get可以识别和解决我们的cannot find lmysqlclient问题的名字

所以现在从接口(interface)输入:sudo apt-get install libmysqlclient-dev
完成后,尝试制作所需的文件。

关于mysql - 找不到 -lmysqlclient,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4198623/

10-15 01:35