GhoulLord
06-06-2003, 10:57
Nabend!
So, me quält sich schon seit zwei Tagen mit folgender Frage (und ich hab auf einigen Website, mans, --helps gesucht *GRR*):
Wie bekomme ich heraus, welche libraries ein Programm benötigt?
Folgendes Programm:
########## peng.c ##########
#include <mysql.h>
#include <stdio.h>
static MYSQL *conn;
int main(int argc, char *argv[]) {
conn = mysql_init(NULL);
return 0;
}
##########
Wenn ich diesen source unter ner pentium/suse8.2 Kiste mit
gcc -Wall peng.c -o peng -I/mysql/include -L/mysql/lib -lm -lz -lmysqlclient
kompilier, dann ist alles in Butter!
Wenn ich des aber auf ner Alpha/RedHat7.1 Maschine mache, dann kommen zig "undefined references"!
Ich bekomm noch en Hals!:mad:
als Beispiel:
/mysql/lib/libmysqlclient.a(libmysql.o): In function `mysql_free_result':
libmysql.o(.text+0x1750): undefined reference to `_OtsMove'
oder:
/mysql/lib/libmysqlclient.a(password.o): In function `my_rnd':
password.o(.text+0xe4): undefined reference to `_OtsRemainder64Unsigned'
( wo die herkommen, gibts noch mehr, viel mehr davon :D )
Könnte mir jemand diese Fehlermeldung mal bitte aufschlüssel, damit ich des beim next mal selber korrigieren kann!?
password.o ist also in libmysqlclient.a eingebettet!?
da gibts ne function my_rnd
und die benutzt ne function aus einer anderen lib, und der compiler(?) hat dieser Funktion den namen _OtsRemainder64Unsigned gegeben?
und der arme Linker weiss nun nicht, wo er das herbekommen soll!
nur: wie soll ich des denn wissen, wo diese funktion definiert ist?:confused:
MfG
GhoulLord
So, me quält sich schon seit zwei Tagen mit folgender Frage (und ich hab auf einigen Website, mans, --helps gesucht *GRR*):
Wie bekomme ich heraus, welche libraries ein Programm benötigt?
Folgendes Programm:
########## peng.c ##########
#include <mysql.h>
#include <stdio.h>
static MYSQL *conn;
int main(int argc, char *argv[]) {
conn = mysql_init(NULL);
return 0;
}
##########
Wenn ich diesen source unter ner pentium/suse8.2 Kiste mit
gcc -Wall peng.c -o peng -I/mysql/include -L/mysql/lib -lm -lz -lmysqlclient
kompilier, dann ist alles in Butter!
Wenn ich des aber auf ner Alpha/RedHat7.1 Maschine mache, dann kommen zig "undefined references"!
Ich bekomm noch en Hals!:mad:
als Beispiel:
/mysql/lib/libmysqlclient.a(libmysql.o): In function `mysql_free_result':
libmysql.o(.text+0x1750): undefined reference to `_OtsMove'
oder:
/mysql/lib/libmysqlclient.a(password.o): In function `my_rnd':
password.o(.text+0xe4): undefined reference to `_OtsRemainder64Unsigned'
( wo die herkommen, gibts noch mehr, viel mehr davon :D )
Könnte mir jemand diese Fehlermeldung mal bitte aufschlüssel, damit ich des beim next mal selber korrigieren kann!?
password.o ist also in libmysqlclient.a eingebettet!?
da gibts ne function my_rnd
und die benutzt ne function aus einer anderen lib, und der compiler(?) hat dieser Funktion den namen _OtsRemainder64Unsigned gegeben?
und der arme Linker weiss nun nicht, wo er das herbekommen soll!
nur: wie soll ich des denn wissen, wo diese funktion definiert ist?:confused:
MfG
GhoulLord