Bonjour,

je suis en cours de developpement d'une bibliotheque video pour un projet.
Le but est de lire le flux de differents types de camera (USB, firewire, camlink,...) et des images.
L'integration de la plupart des composants est faite et ne pose pas de soucis.
Mais je dois maintenant integrer les cameras avec entree de type "camlink" (basse resolution mais haute frequence, jusqu'a 100Hz).
Et j'ai un probleme : la societe qui developpe ce type de camera ne m'a fourni qu'une bibliotheque statique.

A l'aide de CMake, je l'ai ajoute dans mon projet de bibliotheque. Je compile sans probleme apparent.
Cependant quand vient le besoin de compiler un executable utilisant cette bibliotheque, voici le message d'erreur que je recupere :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
/usr/bin/gcc  -I/usr/local/include  -Wall -W -Wpointer-arith -Wbad-function-cast -Wundef -Wfloat-equal -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-declarations -Wshadow -Wsign-compare -Wredundant-decls -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-function -Wno-long-long -Werror -Wextra -Wold-style-definition -Winit-self -Wendif-labels -O3 -DNDEBUG  -fPIC -L/usr/local/lib "CMakeFiles/testVideo_c.dir/src/testVideo.o"   -o bin/testVideo_c -rdynamic -L/home/moi/demos/build/demos/video/./lib -L/home/moi/trunk/build/debug/libry/lib -L/usr/local/lib -L/user/moi/home/XCLIB -lesm -lcv -lcxcore -lcvaux -lhighgui -lraw1394 -ldc1394_control -Wl,-Bstatic -lxclibi86 -Wl,-Bdynamic -lvideo -Wl,-Bstatic -lxclibi86 -Wl,-Bdynamic -lesm -lcv -lcxcore -lcvaux -lhighgui -lraw1394 -ldc1394_control -Wl,-rpath,/home/moi/demos/video/./lib:/home/moi/trunk/build/debug/libry/lib:/usr/local/lib:/user/moi/home/XCLIB
/home/moi/demos/video/./lib/libvideo.so: undefined reference to `pxd_PIXCIopen(char*, char*, char*)'
/home/moi/demos/video/./lib/libvideo.so: undefined reference to `pxd_serialConfigure(int, int, double, int, int, int, int, int, int)'
/home/moi/demos/video/./lib/libvideo.so: undefined reference to `pxd_readuchar(int, long, int, int, int, int, unsigned char*, int, char*)'
/home/moi/demos/video/./lib/libvideo.so: undefined reference to `pxd_goUnLive(int)'
/home/moi/demos/video/./lib/libvideo.so: undefined reference to `pxd_capturedFieldCount(int)'
/home/moi/demos/video/./lib/libvideo.so: undefined reference to `pxd_mesgFault(int)'
/home/moi/demos/video/./lib/libvideo.so: undefined reference to `pxd_serialWrite(int, int, char*, int)'
collect2: ld returned 1 exit status
Les fonctions non definies sont des fonctions de la bibliotheque statique xclibi86.a (renomme en libxclibi86.a pour la lier facilement en tant que bibliotheque). Avec la commande nm, je trouve bien dans cette derniere les fonctions "undefined reference".

Dans le poste suivant :http://www.developpez.net/forums/d52...eque-statique/, on parle d'ordre d'insertion des bibliotheques pour la compilation mais apres relecture de la ligne de commande, je pense que je n'ai pas ce probleme.

Si quelqu'un avait une solution a me proposer.
Si vous avez besoin d'informations complementaires, n'hesitez pas a demander.

Merci

L'elfe d'Azur

PS : j'ai mis en gras dans la ligne de commande les chemins vers les bibliotheques video et xclibi86