warning LNK4089: all references to "OLEPRO32.DLL" discarded by /OPT:REF
// Usa LoadImage() para cargar la imagen en DIBSection
*phBitmap = (HBITMAP)LoadImage(NULL,NombreFichero,IMAGE_BITMAP, m_Width,m_Height,LR_CREATEDIBSECTION| LR_LOADFROMFILE);
se produce un warning:"LINK : warning LNK4089: all references to "OLEPRO32.DLL" discarded by /OPT:REF" y un error en tiempo de ejecución por intentar acceder a una direccion de memoria de solo "read".
Muchas gracias
*phBitmap = (HBITMAP)LoadImage(NULL,NombreFichero,IMAGE_BITMAP, m_Width,m_Height,LR_CREATEDIBSECTION| LR_LOADFROMFILE);
se produce un warning:"LINK : warning LNK4089: all references to "OLEPRO32.DLL" discarded by /OPT:REF" y un error en tiempo de ejecución por intentar acceder a una direccion de memoria de solo "read".
Muchas gracias
Por el mensaje, parece que está usando Visual C++ y MFC. Alguna vez he obtenido warnings como el que envías. Te envío algunas posibles soluciones:
1. Aunque parezca obvio, intenta reconstruir todo el proyecto (Rebuild All). Algunas veces si cambias la interfaz de alguna clase se producen errores fatales en tiempo de ejecución si no recompilas todos los archivos que usan esas clases.
2. Comprueba que has incluido todas las librerías que necesitas en el proyecto. Intenta compilar otro proyecto que use la misma libería, no vaya a ser que esté corrupta.
3. No tengo demasiada experiencia con MFC, pero asegúrate de que el 'casting' que haces a HBITMAP puede hacerse. Comprueba el tipo que devuelve LoadImage(). A veces, los 'casting' pueden ser fuentes de errores en tiempo de ejecución.
4. Por último la solución radial: pasa de MFC y prueba wxWindows, una biblioteca para desarrollo multiplataforma que nada tiene que envidiar a MFC, y que personalmente encuentro más sencilla (el código es más legible que el equivalente MFC). Además es soft libre, y se integra muy bien con Visual C++.
Espero que mis sugerencias no te hayan resultado demasiado obvias. Un saludo.
1. Aunque parezca obvio, intenta reconstruir todo el proyecto (Rebuild All). Algunas veces si cambias la interfaz de alguna clase se producen errores fatales en tiempo de ejecución si no recompilas todos los archivos que usan esas clases.
2. Comprueba que has incluido todas las librerías que necesitas en el proyecto. Intenta compilar otro proyecto que use la misma libería, no vaya a ser que esté corrupta.
3. No tengo demasiada experiencia con MFC, pero asegúrate de que el 'casting' que haces a HBITMAP puede hacerse. Comprueba el tipo que devuelve LoadImage(). A veces, los 'casting' pueden ser fuentes de errores en tiempo de ejecución.
4. Por último la solución radial: pasa de MFC y prueba wxWindows, una biblioteca para desarrollo multiplataforma que nada tiene que envidiar a MFC, y que personalmente encuentro más sencilla (el código es más legible que el equivalente MFC). Además es soft libre, y se integra muy bien con Visual C++.
Espero que mis sugerencias no te hayan resultado demasiado obvias. Un saludo.
