J'ai deux projets, l'un est une bibliothèque qui utilise les en-têtes libpq et l'exécutable, qui se connecte à ma bibliothèque et à libpq, mais peu importe comment je le mets dans le makefile, il ne lie pas la libpq et les allways me renvoient une erreur de référence indéfinie. Il lie ma lib ok. Les bibliothèques libpq.a et libmylib.a se trouvent à l'intérieur du répertoire Libs.
J'ai utilisé nm pour vérifier les fonctions et ils sont là, j'ai changé le -lpq en -lpq_ et le compilateur se plaint de la bibliothèque manquante, donc il trouve et théoriquement, liant, mais ne trouve pas les références?Référence non définie pour les fonctions libpq
ça m'embête vraiment, qu'est-ce que ça pourrait être?
(mon anglais est pas bon, désolé)
Merci,
Jonathan
J'ai ajouté extern "C" {#include "libpq-fe.h"} et n'a pas fonctionné – Jonathan
AFAIK, ordre de liaison n'a pas d'importance avec les bibliothèques dynamiques, mais au cas où vous n'avez pas encore essayé, vous pourriez inverser '-lpq' et' -lMYLIB'. – dennycrane
Je l'ai fait, alors ça me donne beaucoup plus d'erreurs, mais pour d'autres choses à l'intérieur de la libpq, comme kerberus et ça me dérangeait. Mais maintenant ça marche ... ce que j'ai fait a été de supprimer mon répertoire Libs que j'ai créé à des fins de liaison, puis j'ai installé libpq via apt-get et laissé le lien g ++ avec cette nouvelle lib, ça ne me donnait plus d'erreurs . Je suppose que c'est lié à d'autres bibliothèques aussi? C'est un peu une nouvelle pour moi. Si quelqu'un est nu pour expliquer ... – Jonathan