Utilisation bibliotheque sous Linux

Bonjour à tous,

pour mon stage, je dois réaliser un programme utilisant des camera FlyCapture (http://www.ptgrey.com/), pour cela j'ai installé le SDK donné par le site.

Mais je suis bloqué car je n'arrive pas à utiliser ces librairies, je ne sais pas où elles sont installées ni même comment les importer par la suite dans mon projet (sous codeblocks).

Pour info, l'archive contenait plusieurs .deb ainsi qu'un script tout installer (je vois met le script en annexe).

Pouvez vous m'expliquer comment utiliser ces librairies ?



le script d'installation :
#!/bin/bash

set -o errexit

MY_PROMPT='$ '
MY_YESNO_PROMPT='(y/n)$ '

# version of the software
MAJOR_VERSION=2
MINOR_VERSION=2
# 0 Alpha, 1 Beta, 2 RC, 3 Public release
RELEASE_TYPE=3
RELEASE_BUILD=14
RELEASE_TYPE_TEXT=Release

echo "This is a script to assist with installation of the FlyCapture2 SDK.";
echo "Would you like to continue and install all the FlyCapture2 SDK packages?";
echo -n "$MY_YESNO_PROMPT"
read confirm

if [ $confirm = "n" ] || [ $confirm = "N" ] || [ $confirm = "no" ] || [ $confirm = "No" ]
then
    exit 0
    break
fi

echo

echo "Installing FlyCapture2 packages...";

sudo dpkg -i libflycapture-2*
sudo dpkg -i libflycapturegui-2*
sudo dpkg -i libflycapture-c-2*
sudo dpkg -i libflycapturegui-c-2*
sudo dpkg -i flycap-2*
sudo dpkg -i flycapture-doc-2*
sudo dpkg -i updatorgui*

#notify server of a linux installation
wget -T 10 -q --spider http://www.ptgrey.com/support/softwarereg.asp?text=ProductName+Linux+FlyCapture2+$MAJOR_VERSION%2E$MINOR_VERSION+$RELEASE_TYPE_TEXT+$RELEASE_BUILD+%0D%0AProductVersion+$MAJOR_VERSION%2E$MINOR_VERSION%2E$RELEASE_TYPE%2E$RELEASE_BUILD%0D%0A

echo "Would you like to add a udev entry to allow access to IEEE-1394 and USB hardware?";
echo -n "$MY_YESNO_PROMPT"
read confirm

if [ $confirm = "n" ] || [ $confirm = "N" ] || [ $confirm = "no" ] || [ $confirm = "No" ]
then
	echo "Complete";
    exit 0
    break
fi

echo "Launching conf script";
sudo sh flycap2-conf

echo "Complete";

exit 0

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut.
    Les bibliothèques doivent être dans le répertoire standar /lib ou /usr/lib. Les fichier en tête à inclure doivent être aussi de manière classique dans /usr/include ou un de ces sous répertoire. Si tout est bien installer, il n'y a qu'à ajouter une option dans codeblocks et à mettre les bon fichiers en tête dans tes sources.
    1. ce script et les .deb qui l'accompagne sont a utiliser sur linux.
      tout d'abord tu donne les droits d'execution au script avec un sudo chmod 766 script.sh

      ensuite tu doit bien avoir des exemples de codes pour l'utilisation de la librairie non ?
      1. Oui j'ai qq exemples, mais je n'arrive pas à les lancer, le makefile contient un ces lignes :

        INCLUDE = -I../../include -I/usr/include/flycapture
        LIBS = -L../../lib -lflycapture${D}

        Mais quand j'essaie d'accéder à ces répertoires ils sont vides...

        De plus pendant l'installation, une appli graphique est installée, qui semble marcher donc je suppose que les lib sont bien installés.
        1. J'ai aussi dans /usr/lib plusieurs fichiers, en .so ou .so1 ou .so1.2 etc...

          Si j'ai bien compris ce sont les librairies compilées donc c'est ça que je dois importer dans code blocks ? Savez vous comment faire ?

          Merci
          1. Contributeur
            regarde la documentation de codeblock. /usr/include/flycapture est vide ?
            ça c'est ennuyeux. Fait une recherche des fichiers .h dont tu as besoin.
          2. les .so sont les sources non compilé.
            les sources compilé se finissent par .h (de mémoire)

            tu peux essayer de faire une recherche de fichier pour tout les .h (genre si tu as un fichier flycapture.so tu cherche flycapture.h)
          3. Contributeur
            les .so sont les sources non compilé.
            les sources compilé se finissent pas .h (de mémoire)

            Lance un test d'intégrité mémoire ou reboot le tout. Car tu as tout faux.
          4. Non je ne les trouve pas, j'ai dans mon exemple un #include <tchar.h> qui fait planter à la compilation, et quand je fais une recherche dans le système de fichiers, je ne le trouve pas
          5. désolé char snipeur, tu as peut être du comprendre que les sources compilé ne se finissaient pas par .h, c'était une erreur de saisie d'1 lettre de ma part :)

            et si tu parlais du .so, tout ce que j'ai retenu de mes cours c'est que c'était pas ces fichiers qui étaient utile après compilation ^^'
        2. Bon je pense que c'est bon, j'ai trouvé les .h et le tchar.h semble spécifique à Windows, ce qui marche difficilement sur Linux donc.

          Merci