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