2011-03-17 9 views
1

J'essaie d'utiliser libpq pour me connecter à ma base de données PostgreSQL et j'ai l'intention d'appeler des fonctions prédéfinies une fois que cela fonctionne. À l'heure actuelle, je n'ai que la chaîne de caractères conninfo et je teste la connexion. Après avoir finalement trouver comment inclure différents répertoires de code et les chemins de bibliothèque (Netbeans 6.9.1 sur Windows 7, compilateur MinGW) dans mon projet, je trouve cette erreur:Erreur de liaison avec libpq en utilisant C++

g++.exe -c -I/C/Program\ Files/PostgreSQL/9.0/include -MMD -MP -MF build/Debug/MinGW-Windows/main.o.d -o build/Debug/MinGW-Windows/main.o main.cpp

mkdir -p dist/Debug/MinGW-Windows

g++.exe -o dist/Debug/MinGW-Windows/toolboxconnect build/Debug/MinGW-Windows/main.o -L/C/Program\ Files/PostgreSQL/9.0/lib -lpq

c:/Program Files/PostgreSQL/9.0/lib/libpq.dll: file not recognized: File format not recognized
collect2: ld returned 1 exit status

J'ai cherché de nombreux sujets pour la raison de pourquoi cela ne pouvait pas être reconnu, mais les gens suggèrent aux autres que c'est parce qu'ils sont en cours d'exécution 64 bits, et aurait besoin de reconstruire les DLL. Je ne pense pas que mon installation de PostgreSQL est venue avec makefiles pour les recompiler, et supposé qu'ils seraient bons à utiliser comme ils l'étaient. Y a-t-il une autre raison pour laquelle mon éditeur de liens n'aimerait pas ma bibliothèque libpq/une autre sorte de correctif?

Répondre

2

Someone else juste eu un problème similaire avec libpq. De la discussion qui a suivi cette réponse, voici un lien vers download the source code afin que vous puissiez le reconstruire selon vos besoins. Il existe différentes versions disponibles, alors assurez-vous de télécharger celui que vous voulez. Je déteste vraiment vous coller avec l'enfer de la dépendance "Votre dépendance ne fonctionne pas? Téléchargez la source et recompilez-la vous-même!" - mais malheureusement, cela semble être la seule option pour postgres en ce moment.