• Viernes 15 de Noviembre de 2024, 06:39

Autor Tema:  c++ con anjuta  (Leído 1935 veces)

yhohsh

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
c++ con anjuta
« en: Lunes 18 de Mayo de 2009, 11:16 »
0
Se que no es el sitio exacto para realizar la consulta pero con la cantidad de programadores que hay espero que alguien haya trasteado por aquí.

Estoy programando c++ en linux para lo que he elegido utilizar el ide anjuta, todo está configurado correctamente ya que los programas mas basicos los puedo programar y ejecutar perfectamente pero cuando intento realizar un include de una librería externa a c++ me dice que no la encuentra, la pregunta es si
¿alguien sabe donde y como especificar, en el proyecto de anjuta, la ruta de las librerias externas para hacer un include???

Muchas gracias.
Si os sirve de algo la libreria es:

#include <Ice/Ice.h>    No such file or directory

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: c++ con anjuta
« Respuesta #1 en: Lunes 18 de Mayo de 2009, 11:19 »
0
Tienes que usarlo entrecomillado:

Código: C++
  1. #include "Ice/Ice.h"
  2.  
Y ojo con mayúsculas/minúsculas, que Linux distingue entre ambas para nombres de ficheros/directorios.

yhohsh

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: c++ con anjuta
« Respuesta #2 en: Lunes 18 de Mayo de 2009, 11:38 »
0
Muchas gracias por la rapida respuesta, pero sigue dando el mismo error, el tema es que en algun sitio tengo que especificar
la ruta completa del directorio include para que asi la pille. Si en vez de eso incluyo la cabecera con la ruta completa :

#include </home/usuario/Ice/Ice-3.3.1/cpp/include/Ice/Ice.h>

 ya no me da el error de que no encuentra la Ice.h sino que no encuentra todas a las que hace referencia la Ice.h

Ice.h:13:28: error: Ice/Initialize.h: No existe el fichero o directorio
Ice.h:14:32: error: Ice/LocalException.h: No existe el fichero o directorio
....
....

Gracias

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: c++ con anjuta
« Respuesta #3 en: Lunes 18 de Mayo de 2009, 11:41 »
0
Si son cabeceras exclusivas de tu programa, pónlas con los .c/.cpp y especifica en éstas simplemente

Código: C++
  1. #include "Ice.h"
  2.  
Si los .h están en el mismo directorio que los ficheros con el include, no debería darte ningún problema.

yhohsh

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: c++ con anjuta
« Respuesta #4 en: Lunes 18 de Mayo de 2009, 12:26 »
0
Entiendo lo que dices, de hecho si copio Ice.h en la carpeta src del proyecto funciona al igual que si lo incluyo con el path completo, pero me da fallo en cada una de las cabeceras a las que hace referencia el archivo Ice.h y son asi como 25.

Para que esto funcione deberia copiar las 26 cabeceras en cada uno de los proyectos que haga para que los encuentre y rezar para que estas 25 no hagan referencia a su vez a otras cabeceras, no me parece una solución aceptable pero gracias por la idea, seguiré buscando a ver si encuentro donde especificar la carpeta include  "/home/usuario/Ice-3.3.1/cpp/include"

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: c++ con anjuta
« Respuesta #5 en: Lunes 18 de Mayo de 2009, 12:37 »
0
Cita de: "yhohsh"
pero me da fallo en cada una de las cabeceras a las que hace referencia el archivo Ice.h
Pues aplica la misma solución pero en el Ice.h. O realmente no entiendo cuál es el problema  ^_^

yhohsh

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: c++ con anjuta
« Respuesta #6 en: Lunes 18 de Mayo de 2009, 12:54 »
0
La cabecera Ice.h no es de mi programa forma parte de una librería (middelware) externa que necesito para realizar varios programas y hace referencia a otras cabeceras, puedo copiarlas todas dentro de la carpeta de cada proyecto, pero eso no es eficiente ya que seria duplicar el codigo de todas las cabeceras en cada directorio, lo propio seria especificar en las preferencias del proyecto la carpeta donde tiene que buscar los includes, decirle al ide: "si no encuentras algo buscalo aqui: /home/usuario/Ice/cpp/include" y de esa manera todos los proyectos harían referencia a esas cabeceras sin tener que replicarlo, el problema es que no encuentro como especificar los includes en Anjuta.

gracias

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: c++ con anjuta
« Respuesta #7 en: Lunes 18 de Mayo de 2009, 13:22 »
0
Ah bueno, esta explicación me viene mejor  :P

Anjuta es un IDE. Nunca lo he usado así que no sabría decirte. pero una solución es indicarle directamente a gcc(g++ para C++) los directorios. Fíjate aquí:

http://gcc.gnu.org/onlinedocs/gcc/Direc ... tions.html

yhohsh

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: c++ con anjuta
« Respuesta #8 en: Lunes 18 de Mayo de 2009, 14:11 »
0
Ok ahora si me has pillao :D , algo relacionado con eso es lo que yo busco, ahora necesito encontrar el donde ponerlo y como ponerlo dentro de Anjuta..

Gracias por el enlace

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: c++ con anjuta
« Respuesta #9 en: Lunes 18 de Mayo de 2009, 16:27 »
0
Cita de: "yhohsh"
ahora necesito encontrar el donde ponerlo y como ponerlo dentro de Anjuta
Seguro que te deja especificar qué modificadores le vas a pasar a gcc. Ponlo ahí ;)

yhohsh

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: c++ con anjuta
« Respuesta #10 en: Lunes 18 de Mayo de 2009, 19:39 »
0
Al final me he aburrido de buscar y probar en todos los campos de Anjuta y he terminado compilando por consolaa, tanto IDE y al final da mas por saco que una simple linea en el terminal:

g++ -o programa main.cc -I/home/usuario/ice/Ice-3.3.1/cpp/include -L/home/usuario/ice/Ice-3.3.1/cpp/lib -lIce

menos bonito pero funciona mejor ;)

Muchas gracias por las respuestassss, cuando no me acuerde de Anjuta probare de nuevo con el