Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/02/2015, 05:56
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 2 meses
Puntos: 204
Respuesta: Problemas con las librerías Pcomm Lite

Cita:
Iniciado por insocnia Ver Mensaje
Pcomm Lite ofrece una guía pequeña guía de como hacer dicho link al igual que la ayuda de los dos compiladores que he tratado de usar, Dev-c++ y CodeBlocks.
Una aclaración, DEV C++ y CodeBlocks no son compiladores sino IDEs. Un compilador coge código fuente y genera ejecutables y librerías... un IDE es una herramienta de desarrollo que ofrece facilidades orientadas a la programación... y una de ellas es lanzar la compilación por tí. Para poder hacer esto tiene que comunicarse con el compilador, que no deja de ser una aplicación externa e independiente al IDE.


Cita:
Iniciado por insocnia Ver Mensaje
#include <windows.h> /*la guia de pcomm lite indicaba que era necesario*/
#include "pcomm.h"
Con los includes únicamente le estas diciendo al compilador que este código fuente necesita información y código residente en el archivo "pcomm.h"... pero no se aporta nada de información sobre cómo localizar ese archivo. Esta tarea se hace en la configuración del proyecto, indicando las dependencias correspondientes.

Cita:
Iniciado por insocnia Ver Mensaje
En este caso tras los compiladores daban error diciendo que no se encontraba pcomm.h. Tras muchas pruebas dejó de dar el error cuando incluí el archivo pcomm.h en la carpeta "include" de Dev-C++. Entonces el compilador indicaba que había un error en Pcomm.h, que se resolvió añadiendo al final de todas las funciones de la librería un ";".
Los includes no deben tener ";". Los comandos que van precedidos por la almohadilla son reconocidos por el precompilador, no por el compilador. El precompilador es una aplicación independiente que realiza la expansión de las macros y de los includes... poner un punto y coma ahí puede estar afectando al funcionamiento del precompilador y por eso no detecta el error.

Cita:
Iniciado por insocnia Ver Mensaje
Sólo con ese ";", el resultado era que no había error. Ahora bien, en el siguiente programa he utilizado una de las funciones definidas en la librería de Pcomm Lite pero la cosa no marcha bien como podéis comprobar en el listado de errores:
Esos errores te están diciendo que el compilador no sabe dónde encontrar las librerías requeridas para compilar el ejemplo con Pcomm.

La forma de resolver este problema depende del IDE que estés utilizando, pero a grandes rasgos pasa por lo siguiente:

* Quita pcomm.h de los includes del IDE.
* Pon las cabeceras de pcomm en una carpeta que crees para la ocasión. Por ejemplo [algo]/pcomm/includes
* Despues mueve las librerias (*.lib, *.dll, *.a) depende de si son librerías estáticas o dinámicas y del compilador utilizado a una carpeta para la ocasión. Por ejemplo [algo]/pcomm/libs
* A continuación edita las opciones del proyecto en el IDE para que el proyecto incluya como dependencias la librería pcomm (Ejemplo para CodeBlocks)

Lo que consigues con esto es indicarle al compilador dónde se encuentra el código que necesita para poder realizar la compilación de tu código.

Un saludo.