2017-09-10 2 views
0

J'utilise Code :: Blocks IDE sur Debian 8. J'ai installé la librairie synaptic de la librairie plplot (pas de la source). Lorsque je crée un nouveau projet dans C :: B et que j'essaie d'exécuter un simple exemple de plplot, le compilateur ne reconnaît pas les inclusions et l'éditeur de liens ne reconnaît pas la bibliothèque plplot. Alors, comment compiler et lier avec la bibliothèque de plplot quand je l'ai installé de Synaptic pas de la source? Est-ce possible, ou dois-je supprimer les paquets actuels et les installer à partir de la source uniquement?Compilation et liaison avec la librairie plplot sur debian

En général, lorsque j'installe une nouvelle bibliothèque (à partir de synaptic ou de source) comment savoir quels devraient être les drapeaux du compilateur et les répertoires de recherche et pour l'éditeur de liens aussi? Je pense que l'installation à partir de la source devrait être le moins susceptible de problèmes! Jusqu'à présent, je fais la recherche de fichiers pour l'en-tête inclus et ajoute son répertoire au chemin de recherche du compilateur. Mais c'est une approche très lourde et naïve. Ce sera mieux si j'ajoute un drapeau de compilateur qui fait tout ce travail, mais comment le trouver. Certains drapeaux que je trouve dans les forums mais pas dans la documentation des bibliothèques. Pourquoi il n'y a pas de fichier avec la troisième bibliothèque de programmes pour indiquer quels drapeaux utiliser? Néanmoins, lorsque les fichiers o sont terminés, j'ai des erreurs de liens comme "référence non définie à ...".

Répondre

0

Pour la bibliothèque plplot, l'indicateur de liaison doit être -lplplotd. Pour les options du compilateur, je n'ai pas de drapeaux mais j'ai recherché les en-têtes inconnus et ajouté leurs répertoires au chemin des répertoires de recherche. Maintenant, le Example 00 fonctionne très bien. Bien que j'ai trouvé le drapeau -lplplotd en tirant! Pour les exemples x11, il faut ajouter le drapeau -lplplotcxxd.

En général, j'ai trouvé que pour trouver le drapeau de l'éditeur de liens, je dois rechercher le fichier de la bibliothèque so et le nom du fichier est généralement le drapeau, par ex. pour la bibliothèque libplplotcxxd.so le drapeau est -lplplotcxxd.

De toute façon, je serais heureux si quelqu'un me dit un meilleur indice sur la recherche de ces drapeaux de liaison.