elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Página de elhacker.net en Google+ Google+


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 348
121  Programación / Programación C/C++ / Re: problema al linkear mi libreria con codeblocks en: 27 Febrero 2017, 21:44
si en search directories pones ".../src", entonces en el include pones <client.h> en vez de <src/client.h>
122  Programación / Programación C/C++ / Re: Errores raros después de una compilación normal en: 27 Febrero 2017, 20:22
No, es cosa del funcionamiento de las funciones, sin más. Tú cuando escribes algo en consola y pulsas enter, se envía esto: "12345\n". Ese salto de línea del final, scanf no lo quita del stream, así que se queda ahí. Entonces, cuando fgets trata de leer la línea, se encuentra con ese '\n'. fgets, como otras funciones, cuando encuentra un '\n', deja de leer, así que ya ni te deja escribir.
123  Programación / Programación C/C++ / Re: problema al linkear mi libreria con codeblocks en: 27 Febrero 2017, 19:59
Pero, lo dicho. Lo de search directories es interesante que lo arregles porque es algo importante. Si quieres, puedes pasar por aquí screen o el texto que  tienes en cada apartado para ver qué puede fallar.
124  Programación / Programación C/C++ / Re: Errores raros después de una compilación normal en: 27 Febrero 2017, 19:55
Bien, el problema es que scanf deja un salto de línea en stdin. fgets lo lee, y da como terminada la lectura. Para ello, puedes usar:
Código
  1. scanf("%d%*c", &n);

Ese %*c lee un caracter y no lo guarda. Esta es la solución rápida.

Otra solución sería leer siempre cadenas y, cuando sea un número, convertirla con la función int atoi(char*)
125  Programación / Programación C/C++ / Re: Errores raros después de una compilación normal en: 27 Febrero 2017, 18:52
En vez de gets(persona.nombre), utiliza fgets:

Código
  1. fgets(char* cadena, int tamañoCadena, FILE* stream)

Lo llamarías:
Código
  1. fgets(persona.nombre, 30, stdin)
126  Programación / Programación C/C++ / Re: problema al linkear mi libreria con codeblocks en: 27 Febrero 2017, 14:36
Compila la librería, y mira los archivos de salida. Debería haber .h y .o. Si genera DLL, entonces también verás los .dll.

Lo de DLL_EXPORT pues, en las DLL se suele incluir una condición de pre-procesado comprobando si está definido DLL_EXPORT. Con esto quiero decir, que poner ese define no hace anda de por sí. Depende del código. Puedes buscar "DLL_EXPORT" en el código y ver si se está utilizando.
127  Programación / Programación C/C++ / Re: problema al linkear mi libreria con codeblocks en: 27 Febrero 2017, 13:08
Busca los .h en la carpeta. Si existen, entonces tienes que poderlos incluir. Si es así, dime exactamente en qué ruta están y exactamente qué pones en search directories y en los include.
128  Programación / Programación C/C++ / Re: problema al linkear mi libreria con codeblocks en: 27 Febrero 2017, 00:12
En search directory, pones la ruta absoluta donde quieres que el compilador busque las librerías.
Por ejemplo, si pones en search "C:/abc", y en el include "includes/lib.h", buscará: "C:/abc/includes/lib.h"
Para el linkeado es casi lo mismo.

Pones el include con comillas funciona, sí, pero preferiblemente, poner la ruta a la librería en search directories y poner solo el nombre de la librería (y sus sub-carpetas si tiene).

Como ejemplo, esto tengo yo en mi Code::Blocks:





129  Programación / Programación C/C++ / Re: problema al linkear mi libreria con codeblocks en: 26 Febrero 2017, 23:24
En la ruta, no pones gloox/src, sino que pones solo gloox, que es la ruta donde está "src/... .h" (si pones gloox/src, entonces harías include sin el "src/" del principio.

Una vez consigas compilar, veremos los errores de linker que pueda haber (cuando sea un error de linker, lo reconocerás, ya sea porque pone algo de LNK o porque no te marca ninguna línea del código como errónea)

Por cierto, en lo del linker de tu primer mensaje ponia: "../../gloox/libgloox.a". Es una ruta relativa. Te recomendaría poner rutas absolutas.
130  Programación / Programación C/C++ / Re: problema al linkear mi libreria con codeblocks en: 26 Febrero 2017, 22:40
hay 2 partes: la compilación y el linkeado. Para la compilación, necesitas las cabeceras, nada más. para el linkeado, solo los ficheros objeto (.a, .o...).
Ese error es de compilado, no es cosa de los objeto.

La ruta en la que están las cabeceras, ¿la has añadido? No es en lo de Link libraries (eso es para los ficheros objeto). Para las cabeceras, tienes que meter la ruta en "Search directories -> Compiler". La ruta de la carpeta en la que están las cabeceras. Si haces include <src/client.h>, entonces metes al ruta en la que se encuentre la carpeta src (aunque normalmente, las cabeceras se copian a una carpeta "includes" al compilar la librería)
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 348
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines