我在链接我的库的调试版本时遇到了一些问题。我使用 CMake 制作一个库:
project(myLib)
...
add_library(myLib SHARED ${SOURCES})
我两次启动构建以获得我的库的发布和调试版本。然后我在调试库的名称中添加 '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 的发布版本?以及如何正确链接到调试版本?