0

我已经下载了 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 的符号链接(libmysqlclient_r.so 和 libmysqlclient.so 都是 libmysql.so 的符号链接。所以它们都是相同的)。可以通过从 libmysql/CMakeLists.txt 中的以下行中删除 SHARED 关键字来生成静态库 (libmysql.a):

ADD_LIBRARY(libmysql          SHARED ${CLIENT_SOURCES} libmysql.def)
4

1 回答 1

1

如果它没有生成,那么它是由开发人员有意完成的。

检查一些构建选项,也许有启用静态构建的选项libmysqlclient_r。如果不是 - 您必须在其中之一中找到它的目标声明CMakeLists.txt并对其进行调整以启用静态构建。

于 2012-07-03T06:04:31.100 回答