1

我需要将我的项目链接到libmysql.dll动态库(我需要这样做,因为我将我的项目构建为 /MDd,参考:https ://dev.mysql.com/doc/refman/5.6/en/ c-api-building-clients.html )

现在棘手的部分是它是一个导入库(参考:https ://msdn.microsoft.com/en-us/library/d14wsce5.aspx )所以还有一个libmysql.lib

我正在使用 CMake 进行构建:

set(MYSQL_DIR "C:/Program Files/MySQL/MySQL Connector C 6.1"
    CACHE PATH "The path to the MySQL C API library")
include_directories(${MYSQL_DIR}/include)
find_library(mysql NAMES libmysql PATHS ${MYSQL_DIR}/lib)
message(STATUS "mysql library: " ${mysql})

CMake 找到库libmysql.lib但是当我尝试编译时出现以下链接器错误:

LINK : fatal error LNK1104: cannot open file 'mysql.lib'

如上所示,mysql是包含libmysql.lib路径的 CMake 变量的名称。

我试图直接链接到 .dll 但它也不起作用,CMake 找不到 .dll。

问题

我应该如何在 CMake 中继续链接到导入库?谢谢你的帮助。

4

1 回答 1

2

您需要使用find_library()调用结果target_link_libraries()。在您的情况下,它是target_link_libraries(main ${mysql}).

于 2016-02-19T15:29:09.820 回答