vcpkg debug模式下libtiff复制tiffd.dll却查找tiff.dll问题求助
解决Debug模式下找不到tiff.dll的问题
替换直接链接的库名为vcpkg提供的命名空间目标
把CMakeLists.txt中target_link_libraries里的tiff替换为TIFF::TIFF。修改后的代码如下:target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::OpenGL Qt5::Gui Qt5::Multimedia Qt5::Widgets TIFF::TIFF cufft nppial nppicc nppidei nppif nppig nppim nppist nppisu nppitc nvjpeg WINMM gmp)原因是vcpkg为libtiff包提供了
TIFF::TIFF这个CMake导入目标,它会自动根据当前构建模式(Debug/Release)选择对应的库文件:Debug模式下链接tiffd.lib,程序启动时会加载tiffd.dll;Release模式则对应tiff.lib和tiff.dll,避免手动指定库名导致的模式不匹配问题。确保vcpkg清单模式正确生效
确认Visual Studio的CMake配置中,CMAKE_TOOLCHAIN_FILE已指向vcpkg目录下的scripts/buildsystems/vcpkg.cmake,这样CMake才能识别vcpkg提供的命名空间目标。清理缓存并重新构建
删除项目的构建缓存目录(通常是build文件夹),在VS中重新生成解决方案,确保所有依赖都按当前模式重新链接。
内容的提问来源于stack exchange,提问作者Dale Barnard
相关产品推荐
相关产品推荐

