gcc- linkovani, divna chyba

Krata krata na matfyz.cz
Pátek Srpen 2 14:43:21 CEST 2002


Zdravim, 
 kdyz se pokousim slinkovat svuj projekt dostanu zvlastni chybu

pustim takovyto prikaz (to uvadim jen pro uplnost) 
gcc -I/afs/ms.mff.cuni.cz/home/kratj9cm/BIG/SDL/include 
-I/afs/ms.mff.cuni.cz/home/kratj9cm/BIG/SDL/include/SDL -D_REENTRANT 
-I/afs/ms/uk/kratj9cm/BIG/local/include -I.  -o beast  main.o 
./math/libbeast_math.a ./object/libbeast_object.a ./misc/libbeast_misc.a 
./projection/libbeast_projection.a ./system/libbeast_system.a 
./misc/libbeast_misc.a ./parser/libbeast_parser.a 
./materials/libbeast_materials.a ./scenes/libbeast_scenes.a 
-L/afs/ms.mff.cuni.cz/home/kratj9cm/BIG/SDL/lib 
-Wl,-rpath,/afs/ms.mff.cuni.cz/home/kratj9cm/BIG/SDL/lib -lSDL -lpthread 
-L/afs/ms/uk/kratj9cm/BIG/local/lib -l3ds -lGL -lGLU -lSDL_image -lm

a jedna z chyb (konkretne ta prvni ostatni jsou velmi podobne) je tato 

./parser/libbeast_parser.a(parser_3ds.o): In function 
`parser::parser_3ds::load_into_scene_materials(scenes::scene *)':
/afs/ms.mff.cuni.cz/uk/kratj9cm/BIG/projects/l33t/beast/parser/parser_3ds.cpp:94: 
undefined reference to `misc::name::set_name(char const *)'

kdyz ovsem pustim nm ./misc/libbeast_misc.a (jeden z .a ktere pridavam 
gcc) tak vypise mimo jine toto
name.o:
0000004c T _._Q24misc4name
00000000 ? __FRAME_BEGIN__
00000000 T __Q24misc4name
00000010 T __Q24misc4namePCc
         U __builtin_delete
         U __builtin_vec_delete
         U __builtin_vec_new
00000080 T get_name__Q24misc4name
0000008c T set_name__Q24misc4namePCc

tedy funkce set_name tam je (v namespace misc a ve tride name). Ve 
zdrojacich se zda byt vse v poradku. 
Problem mi vznikl kdyz jsem se pokusil z projektu vysekat libtool (kdyz 
jsem kompiloval pomoci libtoolu tak na stejnych zdrojacich vse fungovalo) 

Nevite nekdo kde by mohl byt problem? 
Diky moc Krata



Další informace o konferenci Linux