Pages : 1
#1 Le 27/02/2008, à 18:38
- amira0031
probleme de link
Bonjour,
Je travaille actuellement sur un projet consistant à réaliser le portage d'une librarie graphique (MiniGUI) sur le système d'exploitation embarqué eCos
Voici déjà leur site respectifs :
www.ecos.sourceware.org
www.minigui.com
J'ai donc réalisé tout le processus de configuration et de compilation de eCos, et de miniGUI.
Je souhaite maintenant réaliser un programme (helloworld) graphique.
J'ai réalisé plusieurs tests :
- helloworld graphique sous linux (avec minigui)
- helloworld (mode texte) sur ecos.
Mon problème n'est pas lié à l'exotisme de mon système d'exploitation, mais plutôt à un problème de compilation (et surtout link) de mon progrmame helloworld pour eCos qui fait intervenir miniGUI.
Voici la commande utilisée pour la compilation :
i386-elf-gcc -g -Wall -D_ECOS -I ../ecos-pc/install/include -I /usr/local/include/ -c helloworld.c -L /opt/ecos/ecos-2.0/work/ecos-pc/install/lib -Ttarget.ld -nostdlib
et la commande utilisée pour le link :
ld -o a.out /usr/local/lib/libminigui.so helloworld.o -lminigui -lc
Le problème est simple, puisque lors du link, j'ai une série d'erreurs : "undefined reference" pour chaque appel de fonction de miniGUI, fonctions définies dans les headers et dans le fichier libminigui.so.
En effet, lorsque je recherche les noms de fonctions non définies avec un petit grep, je constate qu'il y a bien concordance. La preuve en image.
ld: AVERTISSEMENT: ne peut trouver le symbole d'entrée _start; utilise par défaut 0000000008048784
/usr/local/lib/libminigui.so: référence indéfinie vers « png_set_gray_1_2_4_to_8 »
debian:/opt/ecos/ecos-2.0/work/app/minigui# grep -r png_set_gray_1_2_4_to_8 /usr/local
Fichier binaire /usr/local/lib/libminigui-1.6.so.2.0.0 concorde
Fichier binaire /usr/local/lib/libminigui-1.6.so.2 concorde
Fichier binaire /usr/local/lib/libminigui.so concorde
Fichier binaire /usr/local/lib/libminigui.a concorde
Quelqu'un a t'il qq hypothèses sur la question ?
Est ce que le warning lors du link a une réelle importance ?
Est-ce qu'une solution au problème pourrait être de linker en statique ?
Si je suis pas clair, et pour plus d'infos, n'hésitez pas à me poser vos questions.
Merci
Hors ligne
#2 Le 27/02/2008, à 19:56
- qqun
Re : probleme de link
salut,
ben je pense qu'il faut installer les librairies (runtimes et dev) dont depends MiniGUI
http://www.minigui.org/docs/techdoc-051110-howto.shtml
Dependent library of MiniGUI
To install MiniGUI successfully, should know which library is needed. Before compoling MiniGUI, you should make sure have installed the dependent library. Besides using SVGALib and LibGGI need other library, MiniGUI also use some other libraries.
LibTTF and LibT1
This two library provide support for TrueType font and Adobe Type1 font, for MiniGUI ,these two library is optional. If needing support for TrueType and Adobe Type1 font, should install this to library first. The configure script of MiniGUI can check if these two library have been installed, otherwise it will disable support for TrueType and Adobe Type1 font.
LibJPEG, LibPNG and etc.
Other libraries include libjpeg for JPEG image support, libpng for PNG image support, libpthread for POSIX compatible thread support.
Pages : 1