Cómo hacer una biblioteca con Libtool si hay fuentes con el mismo nombre de archivo en varios directorios

StackOverflow https://stackoverflow.com/questions/4828429

Pregunta

Estoy tratando de compilar una biblioteca usando Libtool. El problema es que tengo varios archivos de origen con el mismo nombre de archivo en varios directorios. Debido a eso, durante el autoreconf, LBBToolize me arroja errores.

Básicamente, el diseño del sistema de archivos es el siguiente:

src/
    Makefile.am
    file.cpp
    dir1/
        file.cpp
        ...
    dir2/
        file.cpp
        ...

los Makefile.am se coloca en el directorio SRC/ y es llamado por el principal makefile.am usando SUBDIRS = src. El contenido es similar al siguiente:

libfoo_la_SOURCES =    \
    file.cpp        \
    dir1/file.cpp   \
    dir2/file.cpp   \
    ...

Sin embargo, al hacer autoreconf, recibo un error:

src/Makefile.am: object `file.lo' created by `dir1/file.cpp' and `file.cpp'

¿Cómo resolver eso? Supongo que tendré que agregar un makfile.am a cada uno de los subdiectorios. ¿Cómo hacer eso exactamente? Google no ayudó a encontrar la solución.

¿Fue útil?

Solución 2

La solución es crear bibliotecas de Libtool de conveniencia (prefijarlas noinst para que no se instalen) en cada subdirectorio y luego vincularlas a la biblioteca compartida final.

Otros consejos

Incluso si hace que ese funcione en el sistema de compilación, la biblioteca estática seguirá faltando partes del código como Arkansas Felizmente sobrescribe a los miembros del archivo con el mismo nombre.

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