OpenCv и visualStudio
В system32 файлик вижу.Если у тебя система 64-битная, а программу ты собираешь 32-битную, то файлик должен быть в SysWOW64.
В любом случае крайне странно, что у тебя с этим проблема, т.к. ты собрал программу на этом же компьютере.
Если не разберёшься с dll'кой, переключи режим линковки в статический.
просто положи эту dll в папку с экзешником
Но если, не дай Боже, ты пожелаешь слинковать DLL-ку, собранную в одной версии VS, со своим проектом, собираемым другой версией VS, то твой проект будет ссылаться на одну версию MSVC*** (пусть MSVCR90 а DLL-ка - на другую (пусть MSVCR80). При первом вызове этой DLL-ки система попробует загрузить MSVCR80, и рухнет, т.к. уже загружена MSVCR90.
Решение 1: собирать DLL-ку и твой проект одной и той же версией VS.
Решение 2: собрать DLL со статической линковкой, чтобы она не зависела от MSVC***.
Поправьте меня, если я ошибаюсь, но эту проблему я вижу далеко не в первый раз.
Технологии® Майкрософт™.
Поправьте меня, если я ошибаюсьдинамические рантаймы могут сосуществовать в одном приложении, из-за загрузки разных версий рантайма крешей не будет
проблемы могут возникнуть из-за неграмотного cross-dll взаимодействия: стандартный пример - выделение памяти в одном бинаре и освобождение в другом. при выделении памяти может использоваться одна версия рантайма, при освобождение - другая. вот тут краши и возможны. лично я сторонник динамического рантайма онли
на компьютере отсутствует MSVCP100D.dllу вас на компьютере отсутствует установленный дебужный рантайм для 10 студии. предположу, что opencv*.dll файлы вы не сами собрали (скачали? а сами при этом используете другую версию студии (VS2012 ?)
дебужный рантайм нельзя поставить с помощью redist.exe, если не ошибаюсь. нужно ставить соответствующую версию студии (а там внутри рантайм можно найти либо скачать эти файлы из инета. зато с помощью redist.exe можно поставить релизную версию рантайма, в связи с этим могу дать след. рекомендации:
1) поставить релизный рантайм для студии 10, скомпилировать свою прогу в релизе и попробовать запустить. ссылки:
http://www.microsoft.com/en-us/download/details.aspx?id=8328
http://www.microsoft.com/en-us/download/details.aspx?id=5555
это два рантайма для двух версий студии 10. скорее всего вам нужен SP1
2) при проблемах с загрузками я рекомендую использовать тулзу depends.exe, чтобы понять, каких зависимостей не хватает. ссылка: http://www.dependencywalker.com/
3) можете попробовать скомпилировать opencv своим компилятором. только гугл спешит напугать, что там сложно. ссылка: http://docs.opencv.org/doc/tutorials/introduction/windows_in...
успехов
это два рантайма для двух версий студии 10. скорее всего вам нужен SP1К счастью, думать над под-версией рантайма после VS2005 уже не надо: начиная с VS2008 подойдёт любой рантайм от той же версии студии. Т.е. уже пофигу с SP1, без него, с MFC, с ATL security update, и прочее гавно - лишь бы хоть какой-нибудь vcredist от 2008. Тоже самое для 2010 - подойдёт любой vcredist для 2010.
P.S. конечно, с учётом разрядности.
Тоже самое для 2010 - подойдёт любой vcredist для 2010.не знаю что там насчет VS2010, но у VS2012 несколько рантаймов: для первой версии, для U1 и для CTP (еще и для XP наверное есть)
так что все же рекомендую на версию смотреть
Оставить комментарий
uaha1979
Задача:взять видео с вебки и вывести его не экран.
Проследовал инструкции:
http://www.youtube.com/watch?v=cgo0UitHfp8
Выдает ошибку:
"Запуск программы не возможен, тк на компьютере отсутствует MSVCP100D.dll. Попробуйте переустановить программу."
В system32 файлик вижу.
код hello world
если закоментриовать Mat image, то HelloWorld работает.
Как мне вывести видео с вебки на экран?
Заметил, что когда происходит ошибка, снизу пишется: "loading symbols for opencv_core245d.dll"