2010-10-22 12 views
9

Estoy usando el Eclipse CDT. He configurado el "generador externo" y estoy generando los Makefiles automáticamente. Desafortunadamente, los Makefiles generados contienen la ruta de inclusión absoluta. Me gustaría usar los Makefiles generados en otros sistemas (donde Eclipse no está instalado): ¿hay alguna manera de hacer que Eclipse utilice rutas relativas en el Makefile?Cómo obtener Eclipse CDT para usar rutas relativas de inclusión en Makefiles generados

He configurado mis proyectos para incluir el directorio en Configuración -> Configuración de herramienta -> Compilador GCC C -> Incluir rutas usando $ {workspace_log}.

+1

La respuesta aceptada a continuación funciona para incluir rutas en el proyecto, pero ¿qué ocurre con los archivos de recursos vinculados? Mi archivo MAKE generado aún contiene archivos de fuentes de rutas absolutas. ¿No usas fuentes vinculadas en tu proyecto? ¿Cómo se puede compilar en otros sistemas? – dtmland

Respuesta

4

Si usa la ruta relativa en las 'rutas de inclusión' (en lugar de ${workspace_loc}), entonces el archivo MAKE (y los archivos .mk que utiliza) también incluirán rutas relativas.

+5

¿Pariente de donde sin embargo? – CashCow

+1

¿Por casualidad usted sabe cómo lograr lo mismo para los archivos fuente vinculados? ¿Todavía están siendo establecidos en absoluto en mis archivos make? – dtmland

+0

No, lo siento ... No he trabajado con Eclipse en aproximadamente 4 años. –

3

Las rutas relativas que agrega en "Proyecto> Propiedades> C/C++ General> Rutas y símbolos> Incluye" son relativas a su carpeta de proyecto.

Los que aparecen en los archivos make generados son relativos a la ubicación principal del archivo MAKE.

1

Hay una forma mejor de hacerlo: "Proyecto> Propiedades> Compilación C/C++> Configuraciones> Configuración de herramientas> Compilador Cross G ++ [o GCC]> Incluye". Haga clic más una tecla, a continuación, escribir:

"$ {} ProjDirPath /../../../ somefolder1/somefolder2"

Este enfoque permite especificar cualquier carpeta externa por ruta relativa a su carpeta de proyecto, incluso si está ubicada en subcarpetas principales.

Cuestiones relacionadas