implicit declaration of function `int srandomdev(...)'

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Tijdens het compilen van irc bot HAL krijg ik de voglende foutmelding:

code:
1
2
3
4
5
6
7
8
9
10
11
printf.cpp: In function `void send_to_server(const char *, ...)':
printf.cpp:75: warning: converting NULL to non-pointer type
printf.cpp: In function `void send_to_server_now(const char *, ...)':
printf.cpp:94: warning: converting NULL to non-pointer type
g++ -Wall -g3 -I../include -I../lib -I/usr/local/include/mysql -I/usr/local/include -c signal.cpp
g++ -Wall -g3 -I../include -I../lib -I/usr/local/include/mysql -I/usr/local/include -c sql.cpp
sql.cpp: In method `int Sql::Tags(char *, int, const char *)':
sql.cpp:193: implicit declaration of function `int srandomdev(...)'
make[1]: *** [sql.o] Error 1
make[1]: Leaving directory `/home/blubber/halv2-2.00/src'
make: *** [build] Error 2


Weet iemand wat dit inhoud en/of hoe je het oplost? Ik kon op google niks nuttigs vinden :(

Verwijderd

Open sql.cpp in je favoriete editor, vervang srandomdev met srand en compilen maar.

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Jammer werkt ook niet

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
make[1]: Entering directory `/home/blubber/halv2-2.00/src'
g++ -Wall -g3 -I../include -I../lib -I/usr/local/include/mysql -I/usr/local/include -c sql.cpp
sql.cpp: In method `int Sql::Tags(char *, int, const char *)':
/usr/include/stdlib.h:448: too few arguments to function `void srand(unsigned int)'
sql.cpp:193: at this point in file
sql.cpp: In method `char * Sql::PublicAI(const char *)':
/usr/include/stdlib.h:448: too few arguments to function `void srand(unsigned int)'
sql.cpp:1092: at this point in file
sql.cpp: In method `char * Sql::RandomResponseAI(const char *)':
/usr/include/stdlib.h:448: too few arguments to function `void srand(unsigned int)'
sql.cpp:1141: at this point in file
make[1]: *** [sql.o] Error 1
make[1]: Leaving directory `/home/blubber/halv2-2.00/src'
make: *** [build] Error 2

Verwijderd

Werkt wel maar je moet nog even een argumentje toevoegen:

code:
1
srand([b]1[/b]);


(of 2, 3, 4, whatever.. mag je zelf weten, zolang het maar niet minder dan 1 is :) )

Verwijderd

Betekent gewoon dat die functie nog niet geprototyped is. Even zoeken in welke include-file die staat en die includen.

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Oke, maar dan krijg ik u de volgende fout:

code:
1
2
3
4
5
6
7
8
9
10
g++ -Wall -g3 -I../include -I../lib -I/usr/local/include/mysql -I/usr/local/include -c sql.cpp
sql.cpp: In method `int Sql::Tags(char *, int, const char *)':
sql.cpp:193: void value not ignored as it ought to be
sql.cpp: In method `char * Sql::PublicAI(const char *)':
sql.cpp:1092: void value not ignored as it ought to be
sql.cpp: In method `char * Sql::RandomResponseAI(const char *)':
sql.cpp:1141: void value not ignored as it ought to be
make[1]: *** [sql.o] Error 1
make[1]: Leaving directory `/home/blubber/halv2-2.00/src'
make: *** [build] Error 2


Is hier nog wat aan te doen, of het is hopeloos?

  • DGTL_Magician
  • Registratie: Februari 2001
  • Laatst online: 12-05 13:01

DGTL_Magician

Kijkt regelmatig vooruit

Blubber schreef op 26 november 2002 @ 09:30:
Oke, maar dan krijg ik u de volgende fout:

code:
1
2
3
4
5
6
7
8
9
10
g++ -Wall -g3 -I../include -I../lib -I/usr/local/include/mysql -I/usr/local/include -c sql.cpp
sql.cpp: In method `int Sql::Tags(char *, int, const char *)':
sql.cpp:193: void value not ignored as it ought to be
sql.cpp: In method `char * Sql::PublicAI(const char *)':
sql.cpp:1092: void value not ignored as it ought to be
sql.cpp: In method `char * Sql::RandomResponseAI(const char *)':
sql.cpp:1141: void value not ignored as it ought to be
make[1]: *** [sql.o] Error 1
make[1]: Leaving directory `/home/blubber/halv2-2.00/src'
make: *** [build] Error 2


Is hier nog wat aan te doen, of het is hopeloos?
Op die regelnummers in de code staat daar toevallig <parameter> = procedure(parm1, parm2,etc) ?
Waar parameter staat kan iedere int, char, enz. staan, de procedure kan vanalles heten en de waardes die daarmee worden gegeven kunnen ook vanalles zijn. Niet zo heel helder denk ik. :P

Als er iig iets staat dat ongeveer deze structeer heeft, haal <parameter> = dan eens weg?

Blog | aaZoo - (Wireless) Networking, Security, DDoS Mitigatie, Virtualisatie en Storage


Verwijderd

Verwijderd schreef op 26 November 2002 @ 09:21:
Betekent gewoon dat die functie nog niet geprototyped is. Even zoeken in welke include-file die staat en die includen.
stdlib.h

Daar hoort ie in te staan.. maar daar staat ie niet in..
(naar het schijnt wel als je FreeBSD gebruikt :? )

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Oke, probleem opgelost. De CVS versie compiled wel...

Verwijderd

Ik snap niet waarom je zelf compilet als je niet weet hoe dat werkt... :?. Sorry hoor, maar daarvoor zijn RPMs toch bedoeld?
Pagina: 1