bonjour,
je voudrais faire une lib partagé pour être utilisé avec luajit . cette lib utilise libGL.so et libluajit-5.1.so donc voilà comment je la compile :
1 2 3
|
$ gcc -Wall -fPIC -O -g mylib.c -c -o mylib.pic.o
$ gcc -shared -g -Wl,-soname mylib.pic.o -lGL -lluajit-5.1 -o mylib.so |
mais quelque chose ne fonctionne pas dans l'édition de liens :
1 2 3 4 5 6 7 8 9 10 11 12
| $ ld mylib.so
ld: AVERTISSEMENT: ne peut trouver le symbole d'entrée _start; pas d'initialisation de l'adresse de départ
mylib.so: référence indéfinie vers « luaL_openlib »
mylib.so: référence indéfinie vers « glUseProgram »
mylib.so: référence indéfinie vers « lua_pushinteger »
mylib.so: référence indéfinie vers « glShaderSource »
mylib.so: référence indéfinie vers « luaL_checklstring »
mylib.so: référence indéfinie vers « glCreateProgram »
mylib.so: référence indéfinie vers « glCompileShader »
mylib.so: référence indéfinie vers « glAttachShader »
mylib.so: référence indéfinie vers « glLinkProgram »
mylib.so: référence indéfinie vers « glCreateShader » |
pourquoi gcc ne me dit rien ? je veux dire , même quand je compile comme ça :
$ gcc -shared -g -Wl,-soname mylib.pic.o -o mylib.so
ben il me dit rien genre "tout est ok, c'est bon" alors que lors de l'édition de liens il devrait me crier dessus . à moins que... il n'y ai pas d'édition de liens pour une lib partagé .. et là je suis perdu et je ne sais pas quoi faire pour compiler ma lib partagé qui utilise d'autres .so ..
je tiens quand même à dire qu'avec un main , mon programme fonctionne ..
donc j'èspère que vous pourrez m'aidé
merci d'avance
à bientôt
Partager