Pregunta

Tengo un proyecto C que se construye usando un archivo MAKE, Eclipse advierte constantemente sobre " Ruta de proyecto no válida: entradas de ruta duplicadas " ;, pero no puedo entender qué demonios quiere que haga. . Me gustaría deshabilitar esta advertencia y continuar con mi vida.

Mi aplicación se compila y funciona bien, sin una sola advertencia, excepto esta. Siendo un desarrollador concienzudo, estoy ansioso por solucionar este problema, así que tengo las cálidas pelusas que solo una compilación limpia puede traer.

¿Fue útil?

Solución

Esto funcionó para mí con Eclipse 3.7.2 y CDT 8.0.2:

  1. Abrir las propiedades del proyecto | C / C ++ Build | Opciones de descubrimiento.
  2. Haga clic en el botón Borrar las entradas descubiertas ahora:
  3. Reconstruir.

Parece ser una nueva característica en CDT 8. He tenido este " Ruta de proyecto no válida: entradas de ruta duplicadas " problema durante años, y aparentemente esta es la solución recién proporcionada.

Antes de hacer esto, había rutas duplicadas en C / C ++ General | Caminos y Símbolos | Incluye pestaña. No pude deshacerme de estos. Solo aparecen cuando se marca Mostrar valores integrados, por lo que aparentemente se generan de alguna manera. Después de hacer lo anterior, fueron reemplazados por un conjunto que no tenía duplicados. La única diferencia es que la misma configuración apareció en Assembly, GNU C y GNU C ++. Anteriormente eran conjuntos diferentes. Los de la Asamblea estaban vacíos, por ejemplo.

Hasta ahora el problema no ha regresado.

Otros consejos

Este problema es realmente difícil de manejar. No funciona muy bien.

Esto es aplicable a Eclipse 3.4.1 / CDT 5.0.1

Por lo que puedo decir, cuando creas un " C / C ++ Project " dentro de CDT, intentará detectar automáticamente sus rutas de inclusión. Gran idea, pero la implementación es horrible.

Si elimina o cambia el nombre de un directorio, el directorio anterior queda. Si cambia el nombre del proyecto, queda el directorio anterior. Cuando Eclipse no puede encontrar ese directorio antiguo, le da esa advertencia.

Mi solución es desactivar completamente el descubrimiento automatizado y administrar mis rutas de inclusión manualmente. Necesita esta lista de rutas de inclusión para cosas como ctrl-click (navegación automática para definir / funciones / archivos / etc.) y sombrear #definir bloques. Construye el índice de esta lista.

Esto es lo que debes hacer: Haga clic derecho en su proyecto en el explorador de proyectos y vaya a propiedades. Vaya a C / C ++ Build - & Gt; Opciones de descubrimiento Desmarque & Quot; Automatice el descubrimiento de rutas y símbolos & Quot;

Ahora vaya a C / C ++ General - > Caminos y Símbolos Verá en la pestaña Incluye ensamblaje, lenguajes C y C ++ con los correspondientes directorios de inclusión descubiertos automáticamente. Vaya a los 3 idiomas y elimine todo. Abra su archivo MAKE y transcriba sus inclusiones al idioma correspondiente. Un cambio de nombre del proyecto seguirá causando que el indexador se rompa. $ {project_name} y otros globales no parecen funcionar. Si tiene problemas, use & Quot; Workspace & Quot; botón para navegar al directorio que desea incluir, ya que parece que siempre funciona, pero ingresarlo manualmente NO. Presiona aplicar, luego OK. Haga clic derecho en su proyecto, vaya al índice - & Gt; reconstruir Reiniciar eclipse.

Esto debería arreglar las cosas para siempre. Cada vez que algo se sombrea incorrectamente debido a un bloque #define o #ifdef, es porque esa lista de archivos está desactualizada. También sabrá que la lista está desactualizada si obtiene & Quot; inclusiones no resueltas & Quot; en # líneas incluidas.

Doug Schaefer, esperemos que Google indexe esto, encuentre su nombre y arregle esta implementación horrible. =)

Encontré este informe de error para ayudar a mi problema. Moví algunos caminos de inclusión y no pude deshacerme de los viejos caminos.

  

También he visto este problema, viejos caminos   nunca se eliminan Para arreglar manualmente el   archivo que necesita para mover / eliminar el   $ {projectname} .sc archivo encontrado en   $ {workspace} /. metadata / .plugins / org.eclipse.cdt.make.core

https://bugs.eclipse.org/bugs/show_bug.cgi? id = 206372

Uso de Eclipse Luna y CDT 8.5

Solucioné el problema

  1. Abrir las propiedades del proyecto | C / C ++ General | Trayectorias y símbolos
  2. Mire la pestaña Ubicación de origen, cambié el nombre de un directorio y no se actualizó en esta lista.
  3. Reconstruir

Aquí acabo de encontrar otra forma de volver a detectar la ruta automáticamente:

  1. Abrir " Configuración del espacio de trabajo - > C / C ++ - & Gt; Construir - & Gt; Configuraciones - & Gt; Descubrimiento & Quot;
  2. Buscar " Configuración del compilador incorporado CDT [Fragmento] "
  3. Haga clic en " Borrar entradas " y " Restablecer " botón a la derecha
  4. Reconstruir proyectos y Listo

Espero que esto ayude.

Referencia: http://qing.blog.sina.com.cn/1802712302/6b7334ee33004def.html

Parece un error en CDT.

Si realmente desea deshacerse de él, debe intentar deshacerse de los espacios en la ruta del proyecto; esto se sugirió en un resultado de búsqueda para el error. Si eso no funciona, puede intentar abrir el archivo .cproject -es donde se encuentran todas las configuraciones de CDT- y buscar una ruta real con entradas duplicadas.

Debería verificar si ha definido manualmente un símbolo que el eclipse pueda descifrar de su archivo MAKE. Tengo un proyecto que tiene un archivo MAKE escrito manualmente y el problema se resolvió eliminando los símbolos que había agregado manualmente a C / C ++ General - & Gt; Caminos y símbolos - & Gt; Símbolos.

No es necesario eliminar .metadata chicos, simplemente elimine todas las rutas ubicadas en C / C ++ General - > Rutas y símbolos - > Símbolos y reemplácelos usando el botón de clic, pero no proporcione la ruta manualmente

Aquí hay una respuesta tardía para Eclipse 4.4 (que no tiene una opción Discovery).

Eliminar el archivo infoPath del proyecto. Eclipse o el complemento ADT (no estoy seguro de cuál) lo recreará y lo completará con las rutas correctas.

Puede encontrar el archivo <Eclipse workspace>/.metadata/.plugins/com.android.ide.eclipse.ndk/<project>.pathInfo del proyecto en Application.mk.

I think Eclipse o el complemento ADT determina las nuevas rutas desde dos lugares: (1) el directorio NDK establecido en las preferencias de Eclipse y (2) rutas en <=>. Todos esos caminos se convierten en & Quot; Incorporado & Quot; caminos bajo Eclipse.

Consulte también ¿Cómo cambiar las rutas C / C ++ incorporadas que apuntan a una instalación de android-ndk-r9 eliminada?

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