C++ 如何确定MySQLCPPConn库文件的位置?
考虑使用以下Linux命令编译和运行 我知道C++ 如何确定MySQLCPPConn库文件的位置?,c++,mysql,linux,C++,Mysql,Linux,考虑使用以下Linux命令编译和运行 我知道-l标志将指定的库添加到要链接的库列表中,而-l标志将指定的目录添加到要查找的目录列表中 Q:鉴于我没有指定-L标志,我如何确定mysqlcppconn的位置 我的程序编译和运行没有错误;但是,我想知道MySQL Connector/C++安装在哪里。我在/usr/include/和/usr/include/cppcon中找到了一些MySQL头,在/usr/lib中有一个名为mysqlcppcconn的目录 谢谢大家!!我正在重新介绍自己在Linux环
-l
标志将指定的库添加到要链接的库列表中,而-l
标志将指定的目录添加到要查找的目录列表中
Q:鉴于我没有指定-L
标志,我如何确定mysqlcppconn
的位置
我的程序编译和运行没有错误;但是,我想知道MySQL Connector/C++安装在哪里。我在/usr/include/
和/usr/include/cppcon
中找到了一些MySQL头,在/usr/lib
中有一个名为mysqlcppcconn
的目录
谢谢大家!!我正在重新介绍自己在Linux环境下的开发,还有很多东西需要重新学习和学习。库文件位于
/usr/lib
中,名为libmysqlcppcconn
。静态文件和共享对象文件都存在
这个答案由πάντα提供ῥεῖ 在注释部分。命令
ldd a.out
将显示可执行文件a.out正在使用的库。在Ubuntu或其他debian派生系统中,您可以使用命令dpkg
和-L
选项查看来自deb软件包的已安装文件
$ dpkg -L libmysqlcppconn7v5
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libmysqlcppconn.so.7.1.1.9
/usr/share
/usr/share/doc
/usr/share/doc/libmysqlcppconn7v5
/usr/share/doc/libmysqlcppconn7v5/changelog.Debian.gz
/usr/share/doc/libmysqlcppconn7v5/copyright
/usr/lib/x86_64-linux-gnu/libmysqlcppconn.so.7
所以
mysqlcppconn
的安装位置是/usr/lib/x86\u 64-linux-gnu/libmysqlcppconn.So
您检查过是否有名为libmysqlcppconn.a
的文件吗?谢谢,这回答了我的问题。我将您的回复作为答案发布,并提供了信用。GCC在您的系统上使用一组标准(默认)库搜索路径,例如/usr/lib
,/usr/local/lib
,等等。通过像我一样提供-l
标志,我是否在/usr/lib
中为mysqlcppconn
指定静态或动态对象?这取决于libmysqlcppconn.a
的实际构建方式。很可能它是一个针对共享库的存根链接。
$ dpkg -L libmysqlcppconn7v5
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libmysqlcppconn.so.7.1.1.9
/usr/share
/usr/share/doc
/usr/share/doc/libmysqlcppconn7v5
/usr/share/doc/libmysqlcppconn7v5/changelog.Debian.gz
/usr/share/doc/libmysqlcppconn7v5/copyright
/usr/lib/x86_64-linux-gnu/libmysqlcppconn.so.7