У меня возникли проблемы с привязкой к отладочной версии моей библиотеки. Я использую CMake сделать библиотеку:Ссылка на отладочную версию библиотеки с CMake
project(myLib)
...
add_library(myLib SHARED ${SOURCES})
запускает построить два раза, чтобы получить освобождение и отладочную версию моего Lib. Затем я добавляю суффикс 'd' к имени библиотеки debug lib и имеет myLib.dll
и myLibd.dll
.
В моем приложении я явно связать против DLL отладки:
project(myApp)
add_executable(myApp WIN32 ${SOURCES})
target_link_libraries(myApp myLibd.dll)
Сборка завершается успешно, но когда я открываю полученный файл ех с Dependency Walker я получаю неразрешенную зависимость к myLib.dll
файлу, даже несмотря на то, отладочная версия (myLibd.dll
) находится в той же папке.
Итак, почему мое приложение пытается использовать версию моего lib во время выполнения? И как правильно привязать версию отладки?
вы используете MinGW? Кроме того, как вы переименовываете 'myLib.dll' в' myLibd.dll'? – Fraser
Да, я использую MinGW. Я переименую файл lib вручную, когда он скомпилирован. – hank