Я пытаюсь создать DLL с использованием сообщества Visual Studio 12, которое зависит от OpenCV.Использование статической библиотеки при создании DLL в visual studio
Я хочу включить OpenCV в качестве .lib-файлов, поэтому мне не нужно распространять его отдельно, но мне нужно, чтобы мой файл был создан как DLL.
Но я не могу настроить Visual Studio для импорта библиотеки в DLL. Если в
My Project -> Свойства -> Свойства конфигурации -> Общие -> Тип конфигурации,
Я выбираю "статическую библиотеку (.lib)" и в:
My Project -> Properties - > Свойства конфигурации -> VC++ Справочники -> Библиотека каталоги,
Я выбираю путь к .lib файлов OpenCV, и в
My Project -> Свойства -> Свойства конфигурации -> Linker -> Добавление зависимостей
Я добавляю ссылку на каждый .lib, он работает.
Но если я изменить тип конфигурации сделать «динамическую библиотеку (DLL)», Visual Studio говорит мне:
opencv_highgui2410d.lib(window.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in VectorsImport.obj
Кажется, я могу только сделать .lib файлы с .lib файлами. Но это кажется маловероятным. Я просмотрел это, но я только нахожу руководства о том, как создавать файлы .lib или .dll или один из другого. Это должно быть довольно просто, но я не могу понять это. Я привык к Linux, где .o можно легко включить в .so. Это меня озадачивает.
Из-за ошибки opencv.lib предназначен для динамической компоновки, вы должны использовать динамическую ссылку. – Matt