Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - non riesco ad aprire una funzione di una libreeria
Forum - C/C++ - non riesco ad aprire una funzione di una libreeria

Avatar
poppo86 (Normal User)
Newbie


Messaggi: 2
Iscritto: 02/03/2008

Segnala al moderatore
Postato alle 15:02
Domenica, 02/03/2008
salve a tutti, volevo sapere perche quando chiamo la funzione cgiFormString(...) mi da sempre questo errore.

C:\DOCUME~1\Poppo\IMPOST~1\Temp\cc2dcaaa.o(.text+0x14d) In function `main':

  [Linker error] undefined reference to `cgiFormString(char*, char*, int)'
C:\DOCUME~1\Poppo\IMPOST~1\Temp\cc2dcaaa.o(.text+0x14d) ld returned 1 exit status

eppure nel codice la richiamo la libreria cgic.h
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <string.h>
  3. #include <cstdlib>
  4. #include <stdio.h>
  5. #include "cgic.h"
  6.  
  7. int main ()
  8. {
  9.   int indata[1000];
  10.   cgiFormString("nome",indata,1000);
  11.         printf("Content-type: text/html\n\n");
  12.         printf("<HTML>\n");
  13.         printf("<HEAD>\n");
  14.         printf("<TITLE>Esempio di programma CGI</TITLE>\n");
  15.         printf("</HEAD>\n");
  16.         printf("<BODY>\n");
  17.         printf("<h1>%s</h1>",indata);
  18.         printf("</BODY>\n");
  19.         printf("</HTML>\n");
  20.         return 0;
  21. }


PM Quote
Avatar
Dark_Limit (Ex-Member)
Expert


Messaggi: 220
Iscritto: 15/01/2008

Segnala al moderatore
Postato alle 18:38
Domenica, 02/03/2008
Ciao..l'errore è dovuto al fatto che non hai linkato la libreria. Per chiamarla non basta solamente includerla nel file sorgente ma includerla anche nel file di compilazione(linkaggio)..che compilatore usi ? (questo interessa su come ti possiamo dare una mano per linkare le lbrerie)..:k:

PM Quote
Avatar
poppo86 (Normal User)
Newbie


Messaggi: 2
Iscritto: 02/03/2008

Segnala al moderatore
Postato alle 20:51
Domenica, 02/03/2008
Testo quotato

Postato originariamente da Dark_Limit:

Ciao..l'errore è dovuto al fatto che non hai linkato la libreria. Per chiamarla non basta solamente includerla nel file sorgente ma includerla anche nel file di compilazione(linkaggio)..che compilatore usi ? (questo interessa su come ti possiamo dare una mano per linkare le lbrerie)..:k:



allora cgic.h ha delle funzioni che sono collegate a sua volta a cgic.c . le funzioni che sono al loro interno mi servono sul sorgente che vi ho fatto vedere prima e si chiama cod_fis.c .

per compilare il programma utilizzo una shell di linux quindi gcc o g++. nn so quale sia il migliore....ditemi voi che devo fare.

PM Quote