Чтобы запустить режим отладки в Visual C ++ 2005, нужно ли предоставлять связанную с отладочной версией библиотеку? - PullRequest
0 голосов
/ 21 августа 2009

У меня раздражающая проблема с режимом отладки Visual C ++ 2005. Моя научная программа использует библиотеку FFTW3, которая является библиотекой вычисления преобразования FFT. К сожалению, официальной предварительно скомпилированной версии библиотеки FFTW3 для VC ++ не существует. К сожалению, компилировать FFTW3 из исходного кода с помощью VC ++ 2005 очень сложно. Официальный веб-сайт FFTW3 предоставляет предварительно скомпилированный пакет DLL, который собран с MinGW GCC и находится в режиме выпуска.

Я могу связать свою программу с этими библиотеками версий MinGW в Visual C ++ 2005 в режиме отладки и выпуска. Но моя программа завершает работу сразу после запуска, поэтому я хочу пошагово отлаживать ее. Проблема возникла, если я нажал кнопку «Отладка» в Visual C ++:

'minifun.exe': Loaded 'D:\cygwin\home\minifan\debug\libfftw3f-3.dll', Binary was not built with debug information.

У меня вопрос: нужно ли предоставлять отладочную версию FFTW3 для VC ++, чтобы я мог запустить режим отладки? Есть ли способы, которыми я могу избежать этого?

Проблема в том, что я не могу получить отладочную версию и VC ++ скомпилированную библиотеку FFTW3.

Извините за это длинное описание. Я ценю любые отзывы от вас, ребята. Большое спасибо!

Джон Чейн

Ответы [ 2 ]

0 голосов
/ 21 августа 2009

Скорее всего, это не из-за отсутствия отладочной версии библиотеки. Возможно, это связано с отсутствующей зависимостью библиотеки DLL, с которой вы пытаетесь связать. Загрузите Dependency Walker и откройте в нем DLL. Вы узнаете, какие библиотеки отсутствуют. Отсутствующие зависимости будут красного цвета.

0 голосов
/ 21 августа 2009

Сообщение «Двоичный файл не был собран с отладочной информацией» не является фатальным. Это просто означает, что вы не сможете ни отладить, ни получить точные стеки вызовов через него.

...