estoy tratando de establecer OpenCV 2.4 de la siguiente manera:¿Cómo usar las bibliotecas estáticas de OpenCV 2.4 con Visual Studio?
- que he descargado y extraído el paquete precompilado a
C:\OpenCV240
. - En Visual Studio, he agregado
C:\OpenCV240\build\include
como un directorio de inclusión adicional. - Además, he agregado
C:\OpenCV240\build\x86\vc10\staticlib
como un directorio de biblioteca adicional. - Y he especificado todos los archivos .lib disponibles como dependencias adicionales.
Cuando puedo compilar mi programa "Hello World" (que recoge muy bien cuando se utiliza el DLL), aparece un mensaje de error muy parecido a esto:
1> MSVCPRTD.lib (MSVCP100D.dll): error LNK2005: "público: __thiscall std :: _ Container_base12 :: ~ _Container_base12 (void)" (?? 1_Container_base12 @ std @@ QAE @ XZ) ya definido en opencv_core240d.lib (matrix.obj)
¿Qué estoy haciendo mal?
¿Esto tiene algún efecto secundario o es seguro hacerlo? – Niko
Es seguro hacerlo, de hecho, * necesita * tener todas las bibliotecas vinculadas utilizando la misma versión del CRT. Sin embargo, la decisión de si desea usar bibliotecas estáticas vs dinámicas no siempre es fácil. – Fraser