我已经下载了 mysql-connector-c-6.0.2。我使用以下命令构建它:
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=<install_dir_path>
make
make install
这将创建以下库文件:
libmysqlclient.a libmysqlclient_r.so libmysqlclient.so libmysql.so libmysql.so.16 libmysql.so.16.0.0
这不会生成 libmysqlclient_r.a。如何启用 libmysqlclient_r.a 的生成?
预先感谢您的帮助。
更新:
libmysqlclient_r.so 实际上是指向 libmysql.so 的符号链接(symbolic link)(libmysqlclient_r.so 和 libmysqlclient.so 都是指向 libmysql.so 的符号链接(symbolic link)。所以它们是相同的)。可以通过从 libmysql/CMakeLists.txt 中的以下行中删除 SHARED 关键字来生成静态库 (libmysql.a):
ADD_LIBRARY(libmysql SHARED ${CLIENT_SOURCES} libmysql.def)
最佳答案
如果它不是生成的,那么它是开发人员有意完成的。
检查一些构建选项,也许有启用 libmysqlclient_r
静态构建的选项。如果不是 - 您必须在 CMakeLists.txt
之一中找到它的目标声明并调整它以启用静态构建。
关于mysql - libmysqlclient_r.a 没有生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11292173/