Estoy usando un sistema de archivos makefile con el compilador pvcs (utilizando el compilador de Microsoft Visual C++, 2008) y obtengo varios errores de enlace del formulario:Error de Clrdump (C++) LNK2019: símbolo externo sin resolver __imp__RegisterFilter @ 8 al que se hace referencia en la función _main
error LNK2019: unresolved external symbol [email protected] referenced in function _main
Esto ocurre a pesar de usar el extern "C"
declaración, a saber .:
extern "C" int CLRDUMP_API RegisterFilter(LPCWSTR pDumpFileName, unsigned long DumpType);
Además, en el makeexe.mak, la biblioteca está siendo vinculado como:
$ (COMPILEBASE) \ lib \ clrdump.lib \
Para ser sincero, no soy un experto en makefiles, y estoy cambiando un sistema de Microsoft Visual C++ 6.0 a 2008. Este cambio puede tener algo que ver con los errores de enlace, ya que el sistema solía funcionar antes.
Cualquier ayuda sería realmente apreciada.
Gracias de antemano,
Sinceramente, Joseph
- EDIT 1 -
¿Alguien sabe cómo convertir detallado en el sistema de archivo MAKE de PVC?
Tenga en cuenta que la función anterior es ya una versión del compilador-decorado, teniendo
[email protected]
mientras que el C++ función es sólo
RegisterFilter
Gracias por la ayuda, pero si alguien puede poner un mayor solución completa, que también sería muy apreciada.
Atentamente, José
- EDIT 2 -
Algunos persona amable publicado esto, pero cuando firmé en que desapareció:
El imp prefijo indica que esta función ha sido importada desde una DLL. Verifique la definición de CLRDUMP_API
- ¿Es __declspec(dllimport)
? Vea este artículo para más información.
Hubo un enlace de trabajo, pero he perdido eso, sin embargo, supongo que uno siempre puede buscar el tema.
¡Gracias, quienquiera que fueras!
- Datos 3 -
Gracias ChrisN (todavía no estoy autorizado a votar). A pesar de usar el botón de actualización, tu respuesta desapareció, pero luego volvió a aparecer después de que publiqué una función de cortar y pegar.
Esta es mi definición de que:
define CLRDUMP_API __declspec(dllimport) __stdcall
supongo que el __stdcall está bien?
- Edición 4 -
Aunque aprecio los esfuerzos de los que respondieron, en particular ChrisN, al menos en mi sistema en particular, sigue siendo el error de enlace. Entonces, si alguien tiene más conocimiento, lo agradecería. Gracias de nuevo.
Estaba desarrollando una aplicación ATL/COM muy simple e intenté llamar al método CreateMappedBitmap (...).Recibí el error LNK2019 para esta llamada de método utilizando VS 2012. La sugerencia anterior sobre cómo agregar comctl32.lib me funciona. no hizo ningún otro cambio. –