c – 使用CMake链接库的调试版本
发布时间:2020-12-16 10:24:49 所属栏目:百科 来源:网络整理
导读:链接我的lib的调试版本时遇到了一些问题.我使用CMake创建一个库: project(myLib)...add_library(myLib SHARED ${SOURCES}) 我启动了两次构建以获得我的lib的发布和调试版本.然后我将’d’后缀添加到调试库的名称并拥有myLib.dll和myLibd.dll. 在我的应用程
链接我的lib的调试版本时遇到了一些问题.我使用CMake创建一个库:
project(myLib) ... add_library(myLib SHARED ${SOURCES}) 我启动了两次构建以获得我的lib的发布和调试版本.然后我将’d’后缀添加到调试库的名称并拥有myLib.dll和myLibd.dll. 在我的应用程序中,我明确链接到调试DLL: project(myApp) add_executable(myApp WIN32 ${SOURCES}) target_link_libraries(myApp myLibd.dll) 构建成功完成,但是当我使用Dependency Walker打开生成的exe文件时,我得到一个未解析的myLib.dll文件依赖项,即使调试版本(myLibd.dll)位于同一文件夹中. 那么,为什么我的应用程序试图在运行时使用我的lib的发布版本?我如何正确链接调试版本? 解决方法
您不应手动重命名该文件.使用CMake的
CMAKE_DEBUG_POSTFIX variable或
DEBUG_POSTFIX target property代替:
add_library(myLib SHARED ${SOURCES}) set_target_properties(mylib PROPERTIES DEBUG_POSTFIX "d") [...] add_executable(myApp WIN32 ${SOURCES}) target_link_libraries(myApp myLib) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |