Pregunta

    

Esta pregunta ya tiene una respuesta aquí:

         

Estoy construyendo un proyecto en Visual C ++ 2008, que es un ejemplo aplicación basada en MFC para una biblioteca de clases C ++ estática que va a utilizar en mi propio proyecto pronto. Aunque la construcción de la configuración de depuración, me sale el siguiente:

  

advertencia LNK4098: defaultlib conflictos 'MSVCRT' con el uso de otras librerías; uso / NODEFAULTLIB: biblioteca

Después de usar la opción recomendada (mediante la adición de "msvcrt" al campo "Ignorar biblioteca específica" en la configuración del vinculador de proyectos para la configuración de depuración), el Programa de Vínculos y corre bien. Sin embargo, me gustaría saber por qué se produjo este conflicto, ¿por qué tengo que hacer caso omiso de una biblioteca crítico, y si estoy a esperar que los problemas más tarde si agrego la ignoran, o qué pasa si no (porque la programa construye de todos modos).

Al mismo tiempo, la configuración de lanzamiento advierte:

  

LNK4075 de advertencia: ignorando '/ EDITANDCONTINUE' debido a '/ OPT: ICF' especificación
  LNK4098 de advertencia: defaultlib conflictos 'MSVCRTD' con el uso de otras librerías; uso / NODEFAULTLIB: biblioteca

supongo que el sufijo "D" significa que esta es la versión de depuración de la VC ++ en tiempo de ejecución, ni idea de por qué esto se acostumbra en esta ocasión. De todos modos, añadiendo "msvcrtd" al ignorar campo hace que una gran cantidad de errores de enlace de la forma:

  

LNK2001 error: símbolo externo sin resolver __imp ___ CrtDbgReportW

Cualquier penetración muy apreciada.

¿Fue útil?

Solución

Esto suele suceder cuando se vincula con una biblioteca estática que utiliza otra versión del tiempo de ejecución de VC ++ (ajuste C++ ->Code Generation->Runtime Library en las propiedades del proyecto).

Otros consejos

Esto por lo general me pasó cuando yo era (sin querer) la mezcla de diferentes sabores de la RTL, al igual que (como parece ser en su caso) de depuración y de lanzamiento o MT y ST.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top