我正在尝试编译一个 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-dev
是 apt-get
的名字可以识别并解决我们的cannot find lmysqlclient
问题
现在输入:sudo apt-get install libmysqlclient-dev
从界面。
完成后,尝试制作所需的文件。
关于mysql - 找不到-lmysqlclient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4198623/