CMake 链接到导入库
CMake linking to an import library
我需要 link 我的项目到 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 但是当我尝试编译时我得到以下 linker 错误:
LINK : fatal error LNK1104: cannot open file 'mysql.lib'
mysql 如上所示,是包含 libmysql.lib[=36 路径的 CMake 变量的名称=].
我试过 link 直接到 .dll 但它也不起作用,CMake 没有找到 .dll。
问题
我应该如何在 CMake 中进行 link 导入库?谢谢你的帮助。
您需要在 target_link_libraries()
中使用 find_library()
调用的结果。在你的情况下是 target_link_libraries(main ${mysql})
.
我需要 link 我的项目到 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 但是当我尝试编译时我得到以下 linker 错误:
LINK : fatal error LNK1104: cannot open file 'mysql.lib'
mysql 如上所示,是包含 libmysql.lib[=36 路径的 CMake 变量的名称=].
我试过 link 直接到 .dll 但它也不起作用,CMake 没有找到 .dll。
问题
我应该如何在 CMake 中进行 link 导入库?谢谢你的帮助。
您需要在 target_link_libraries()
中使用 find_library()
调用的结果。在你的情况下是 target_link_libraries(main ${mysql})
.