请考虑以下Linux命令来编译并运行MySQL Connector/C++ Example 1。
g++ test.cpp -lmysqlcppconn; ./a.out
我知道-l
标志将指定的库添加到要链接的库列表中,而-L
标志将指定的目录添加到要查找的目录列表中。
问:鉴于我未指定-L
标志,如何确定mysqlcppconn
的位置?
我的程序编译并运行没有错误;但是,我想知道MySQL Connector / C ++的安装位置。我设法在/usr/include/
和/usr/include/cppconn
中找到了一些MySQL标头,并且在mysql
中有一个名为/usr/lib
的目录,但是里面没有名为mysqlcppconn
的目录。
谢谢!我将重新介绍自己在Linux环境中进行开发,并且有很多需要重新学习和追赶的东西。
答案 0 :(得分:0)
该库文件位于/usr/lib
中,名为libmysqlcppconn
。静态文件和共享对象文件都存在。
此答案由πάνταῥεῖ在评论部分中提供。
答案 1 :(得分:0)
命令ldd a.out
将显示a.out可执行文件正在使用的库。
答案 2 :(得分:0)
在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_64-linux-gnu/libmysqlcppconn.so