Не удалось правильно инициализировать приложение (0xc0150002) - PullRequest
0 голосов
/ 15 августа 2010

У меня есть программа обработки изображений C, которая использует библиотеку OpenCV. Я разрабатывал это с Visual Studio 2008, пока это не произошло. Поэтому я перенес весь проект на netbeans (6.9) и MinGW.

Я настроил netbeans для использования библиотек OpenCV, как описано в этом блоге .

Но когда я запускаю программу, она выдает эту ошибку «Приложение не удалось правильно инициализировать (0xc0150002)»

Я не думаю, что это происходит при попытке прочитать какие-либо файлы изображений с жесткого диска. Выдает ошибку, даже не выполняя 1-ю строку в основном методе.

Единственное изменение, которое я внес в код, это следующее.

static __inline void release_mem( CvPoint2D64f*, CvPoint2D64f*, static struct feature** );

это дало мне ошибку: storage class specified for parameter 'type name' поэтому я изменил код на (метод проб и ошибок, а не на любую логику)

static __inline void release_mem( CvPoint2D64f*, CvPoint2D64f*, struct feature** );

1 Ответ

1 голос
/ 15 августа 2010

Это проблема параллельной конфигурации.Ваша программа содержит манифест, в котором указывается, какая DLL ей нужна из кеша SxS.И Windows не может его найти.Начните с просмотра журнала событий Windows, он скажет вам, что DLL не удалось найти.

Это более типичная проблема VS2008, ее DLL-версия библиотек CRT хранится в параллельнойбоковой кеш.Как и msvcrt90.dll.Возможно, вам не удалось преобразовать код в новую среду сборки.Что странно, встраивание манифеста является явным шагом сборки.Убедитесь, что в вашем каталоге сборки нет файла .manifest.

Эта шумиха вышла на пенсию в VS2010, кстати.VS2010 Express может быть вашей третьей попыткой.

...