villyz 0 Жалоба Опубликовано May 19, 2012 Всем привет. Я пишу приложение в VS 2008, используя OpenCvSharp. В процессе работы возникла необходимость подключения OpenCvSharp.MachineLearning. Добавил в using OpenCvSharp.MachineLearning. Но первый же вызов конструктора CvEm выдал исключение An exception has occured because of P/Invoke. ... System.DllNotFoundException: Не удается загрузить DLL "OpenCvSharpExtern". Я скопировал OpenCvSharpExtern.dll в папку с exe-шником, как описано здесь http://code.google.com/p/opencvsharp/wiki/Tutorial_Windows Но не помогло. Исключение остается. Кто-нибудь сталкивался с такой установкой? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 19, 2012 Это происходит при запуске из IDE или и при отдельном запуске программы из её директории? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TroyashkA 12 Жалоба Опубликовано May 20, 2012 Всем привет. Я пишу приложение в VS 2008, используя OpenCvSharp. В процессе работы возникла необходимость подключения OpenCvSharp.MachineLearning. Добавил в using OpenCvSharp.MachineLearning. Но первый же вызов конструктора CvEm выдал исключение An exception has occured because of P/Invoke. ... System.DllNotFoundException: Не удается загрузить DLL "OpenCvSharpExtern". Я скопировал OpenCvSharpExtern.dll в папку с exe-шником, как описано здесь http://code.google.c...utorial_Windows Но не помогло. Исключение остается. Кто-нибудь сталкивался с такой установкой? Попробуй поиграться с типом сборки Debug/Release, может быть у тебя библиотека скомпилирована в релизе и не может работать в дебаге или наоборот, а может версии не совпадают. А саму библиотеку где брал? p.s. и текст исключения желательно весь в студию Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
villyz 0 Жалоба Опубликовано May 20, 2012 Происходит как из IDE так и при запуске exe. Текст исключения: * An exception has occured because of P/Invoke. Please check the following: 1. OpenCV's DLL files exist in the same directory as the executable file. 2. Visual C++ Redistributable Package has been installed. 3. The target platform (x86/x64) of OpenCV's DLL files and OpenCVSharp is the same as your project's. System.DllNotFoundException: Не удается загрузить DLL "OpenCvSharpExtern": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E) в OpenCvSharp.MachineLearning.MLInvoke.CvSVM_sizeof() в OpenCvSharp.MachineLearning.MLInvoke.TryPInvoke() * Visual C++ RP переустановил. OpenCvSharp брал здесь http://code.google.com/p/opencvsharp/downloads/detail?name=OpenCvSharp-2.3.1-x86-20120519.zip&can=2&q= Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
TroyashkA 12 Жалоба Опубликовано May 20, 2012 VC++ redist бывает разных версий, ставить иногда надо все ... и (2005?) 2008 и 2010 (у меня 1 раз так было) Также, как вариант, глянуть зависимости exe'шника вот этим: http://dependencywalker.com/ А для .NET софтина с подобным функциналом тут (это лучше): http://www.reflector.net/ И, конечно же, обратить внимание на вот это: The target platform (x86/x64) of OpenCV's DLL files and OpenCVSharp is the same as your project's. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
villyz 0 Жалоба Опубликовано May 20, 2012 Точно! Полез в dependency walker проверять библиотеку OpenCvSharpExtern.dll, он показал, что нет файла MSVCR100.dll и еще некоторых - все из VC++resistr 2010. Скачал, поставил - исключение больше не возникает. теперь другие ошибки, но это другая история)) Спасибо огромное, Troyashka, 2 дня убил на это! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах