Error LNK2001: InitCommonControls

Tamaño de letra:

Error al compilar con Visual C++

Hoy casualmente estoy programando con Visual C++ 2010 y a la hora de generar el ejecutable recibo el siguiente error:

error LNK2001: símbolo externo __imp__InitCommonControls@0 sin resolver

Este error suele ser muy común. Lo primero que nos dice es: error LNK2001. Si le preguntamos a Microsoft (lo primero que hago) sobre este inconveniente, nos muestra lo siguiente: http://msdn.microsoft.com/es-es/library/f6xx1b1z%28v=VS.100%29.aspx. Nos indica que el problema es del vinculador, que no encuentra en este caso la función InitCommonControls en las bibliotecas y archivos objeto. A mi me ha resultado curioso que no pueda resolver InitCommonControls(), pensaba que estaría añadida por defecto.

Como sabes, lo primero es incluir el encabezado en el ámbito global: #include "commctrl.h"

commctrl.h: Interface for the Windows Common Controls

Y ahora para resolver el error, nos está diciendo que el vinculador necesita una dependencia adicional. Para ello vamos al menú Proyecto -> Propiedades de tu proyecto (Alt + F7).
En la ventana que sale vamos a Vinculador -> Entrada
Seleccionamos dependencias adicionales (). Y pegamos ahí lo siguiente: ComCtl32.Lib

Imagen:

 

Configuración de VC++

 

Aceptamos y todo arreglado.

 

Otra forma

Otra forma igual que podemos hacer para resolver esto es añadir en nuestro código .cpp lo siguiente:
#pragma comment(lib, "ComCtl32.Lib")
Microsoft nos especifica que hemos añadido una dependencia al vinculador: http://msdn.microsoft.com/en-us/library/7f0aews7%28v=VS.100%29.aspx

Última actualización: Domingo, 10 Julio 2011
Comentarios  
0 # giquem 25-07-2014 13:09
Por favor, tengo el mismo problema al compilar con VS 2008: 7 errores de vinculación.Com o puedo hacer un "post" para recibir ayuda? Como puedo registrarme en esta página? Gracias.
Responder | Responder con una citación | Citar
0 # Aitor 26-07-2014 09:16
No se ha solucionado tu problema con las 2 posibles soluciones comentadas?
Responder | Responder con una citación | Citar
0 # giquem 27-07-2014 14:51
No. Se trata de compilar emule y no creo que deba modificar ningún código porque trabajo con el código fuente del programa. Dime cómo podria enviarte el problema que tengo, por favor. Gracias.
Responder | Responder con una citación | Citar
0 # Aitor 27-07-2014 16:28
En el enlace "contacto" está el email de esta web.
De todos modos, nunca he intentado compilar eMule. Echa antes un vistazo a este hilo a ver si te ayuda:
forum.emule-project.net/index.php?showtopic=84176&hl=build
Responder | Responder con una citación | Citar
Escribir un comentario
Antes de publicar un comentario, usted debe aceptar nuestras condiciones de uso: Condiciones de uso. Debido al spam, todos los comentarios serán moderados. Normalmente se responde en unos minutos, refresca los comentarios para comprobarlo.



 
Visitas: 8495872