[C]"unresolved externals" ca veux dire koi?

"unresolved externals" ca veux dire koi? [C] - C++ - Programmation

Marsh Posté le 15-04-2003 à 02:45:35    

j'ai ce code
 
 

Code :
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include "linreg.h"
  4. #define N 100
  5. int main()
  6. {
  7. int i;
  8. double x[N];
  9. double y[N];
  10. double a,b,r2,p;
  11. FILE * fp;
  12. fp = fopen("data","w" );
  13. for (i=0;i<N;i++)
  14. {
  15.  p = 2*drand48() - 1;
  16.  x[i]=drand48();
  17.  y[i]=x[i] + 1 + 0.1*p;
  18.  if (fp!=NULL) fprintf(fp,"%e\t%e\n",x[i],y[i]);
  19. }
  20. if (fp!=NULL) fclose(fp);
  21. linreg(N,x,y,&b,&a,&r2);
  22. printf("y = %f * x + %f with a precision of %f\n",a,b,r2);
  23. return 0;
  24. }


 
et a la compilation il me met comme erreur
 

Code :
  1. c:\download\c++\linreg\linreg\linreg\test.c(24) : warning C4013: 'drand48' undefined; assuming extern returning int
  2. Linking...
  3. test.obj : error LNK2001: unresolved external symbol _linreg
  4. test.obj : error LNK2001: unresolved external symbol _drand48
  5. Debug/test.exe : fatal error LNK1120: 2 unresolved externals
  6. Error executing link.exe.
  7. test.exe - 3 error(s), 1 warning(s)


 
ca vient surement du #include "linreg.h", mais ce fichier .h je l'ai juste mis dans le meme dossier, il faut faire autre chose avec?

Reply

Marsh Posté le 15-04-2003 à 02:45:35   

Reply

Marsh Posté le 15-04-2003 à 02:49:36    

il faut inclure la librairie contenant les fonctions pendant la compilation

Reply

Marsh Posté le 15-04-2003 à 02:51:14    

zophren a écrit :

il faut inclure la librairie contenant les fonctions pendant la compilation


 
comment on fait?

Reply

Marsh Posté le 15-04-2003 à 05:23:55    

et est ce que tu as mis le fichier linreg.c aussi dans le dossier ou sont tes sources?
 
les unresolved external symbol c quand tu fais appel à une fonction ou une variable qui est definie dans un autre fichier et que le compilateur ne parvient pas à trouver le code correspondant. A la compilation, l'appel de linreg() ne pose pas de probleme car le compilo trouve le prototype de la fonction mais lors de l'edition des liens (linking..) il a besoin du code de cette fonction pour generer l'exe.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed