• # Il faut un truc automatique ou la débrouille fonctionne?

    Posté par  . Évalué à 2.

    grep '#include <' *.c ?

  • # Gcc -M fichier

    Posté par  . Évalué à 2.

    Essayes l'option -M de gcc.

    -M [ -MG ]
    Dire au préprocessuer de générer une règle convenant à make décrivant les dépendances de chaque fichier objet. Pour chaque fichier source, le préprocesseur génère une règle make dont la cible est le nom du fichier objet pour ce fichier source, et dont les dépendances sont tous les fichiers inclus par des #include'. Cette règle peut être une simple ligne ou peut être continuée par\'-newline si elle est trop longue. La liste de règles est imprimée sur la sortie standard au lieu du programme C prétraité. -M' implique-E'. -MG' informe de traiter les fichier d'entête manquants comme des fichiers générés et suppose qu'ils sont situés dans le même répertoire que le fichier source. Il doit être spécifié en plus de-M'.

    • [^] # Re: Gcc -M fichier

      Posté par  . Évalué à 0.

      par exemple j ai la librairie libgtk2.0-dev comment je peux appliquer les regles -M [ -MG ] sur sa code source pour savoir les dépendances

      • [^] # Re: Gcc -M fichier

        Posté par  . Évalué à 1.

        J'ai plusieurs réponses possibles :

        0) C'est un logiciel suffisamment connus pour qu'une distribution l'ai packagé. Sur debian utilises, apt-cache depends libgtk2.0-dev .

        1) Normalement les dépendances sont gérées/vérifiées par la chaîne de compilation du logiciel. Par exemple si un logiciel utilise un bon vieux "./configure ; make ; make install", le script "configure" va vérifier si les dépendances sont installées. Si elle ne le sont pas, tu auras une erreur. Tu peux regarder à l'intérieur de ce genre de fichier (./configure, MakeFile, fichier.cmake…) pour trouver les dépendances.

        2) Tu veux vérifier à la main.
        2.a) Tu arrives à compiler le logiciel. Fait ldd binaire, cela te donne toutes les dépendances du binaire.
        2.b) Tu n'arrives pas à compiler le logiciel. La tu peux lancer la compilation du logiciel, au moment ou la compilation échoue, regardes l'erreur. Ou alors recherche tous les includes avec la commande de l'autre commentaire ( gcc -M ne fonction que si tu peux compiler).

        Il y a encore d'autres méthodes mais cela dépend de ce que tu veux faire. Dis nous en plus pour plus de conseils.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.