studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones c++ resources build debugging static-libraries

c++ - para - manual de programacion android pdf



Recursos en la pregunta de la biblioteca estática (4)

Resolvió este problema al establecer EXACTAMENTE UN archivo de salida .res en la configuración. Aunque no estoy seguro de por qué estaba bien en el modo de Release .

Esto no es un duplicado de los recursos de VC ++ en una biblioteca estática porque no ayudó :)

Tengo una biblioteca estática con DOS archivos .rc en su proyecto. Cuando construyo mi proyecto usando la configuración de Debug , obtengo el siguiente error (MSVS2008):

fatal error LNK1241: resource file res_yyy.res already specified

Tenga en cuenta que esto solo ocurre en las compilaciones de biblioteca de Debug y Release sin ningún problema. La línea de comando para la página de Resources en la configuración del proyecto tiene el mismo aspecto para cada compilación:

/fo"...(Path here)/Debug/project_name.res" /fo"...(Path here)/Release/project_name.res"

y no puedo entender cuál es el problema. ¿Algunas ideas?

ACTUALIZAR

No sé por qué sucede esto, pero cuando giro la opción "Usar generación de código de tiempo de enlace", el problema desaparece.

¿Podría alguien explicar por qué sucede esto? Siento que el compilador de MS está haciendo algo realmente extraño aquí.

Gracias.


Encontré esta publicación porque tenía el mismo error de enlazador.

El enfoque especificado en la respuesta produjo una advertencia de enlazador en mi sistema (xyz.res: advertencia LNK4042: objeto especificado más de una vez; se ignoraron los extras).

Lo que funcionó para mí fue eliminar las entradas de " Nombre del archivo de recursos" y "Cultura" en la configuración de Propiedades / Recursos .


Para mí arreglé el problema yendo a mi explorador de soluciones y excluyendo todos los archivos y luego volví a incluir en el proyecto los archivos .h y .cpp que estaba usando


Terminé invocando este error durante una exploración para obtener un conjunto de proyectos dependientes para todos compilados como dlls de un conjunto grande que inicialmente se configuraron para que se construyeran como bibliotecas estáticas. Inadvertidamente cambié una de las configuraciones del proyecto en las referencias del proyecto para obtener la construcción de dlls. Volver a verificar que mis cambios funcionaron para la configuración de la biblioteca estática completa reveló el error de enlace. Entonces, para un proyecto dependiente específico que tenía un archivo de recursos para incluir la información de la Versión, tenía la Project Reference Properties: Link Library Dependencies del Project Reference Properties: Link Library Dependencies establecido en True . Cambiarlo a False solucionó el error.

Por cierto, solo necesitaba el archivo de recursos para la versión Dll, ya que realmente necesitaba Dependencias de biblioteca de enlaces establecidas en True para corregir los errores del vinculador en la compilación Dll. Entonces, lo que terminé haciendo es excluir el archivo de recursos de la compilación de la biblioteca estática estableciendo Yes a Excluded From Build .