Die Antwort ist überraschend einfach.
Das Problem, das Sie sehen, liegt daran, dass die kompilierte Anwendung die PostgreSQL-Bibliotheken nicht finden kann. Die libpq.lib wird zum Kompilieren der Anwendung verwendet und zur Laufzeit mit der DLL verknüpft. Sie können es entweder zu Ihrem systemweiten Pfad hinzufügen oder die DLL mit Ihrer Anwendung bündeln. (Ich würde es auf dem Entwicklungscomputer hinzufügen und das Redistributable für ein Installationspaket bündeln.)
Um es in Ihren Pfad aufzunehmen, versuchen Sie:
- Klicken Sie mit der rechten Maustaste auf „Arbeitsplatz“ und wählen Sie „Eigenschaften“ aus
- Klicken Sie dann auf "Erweiterte Systemeinstellungen".
- Klicken Sie unten im Dialogfeld auf die Schaltfläche "Umgebungsvariablen".
- Es öffnet sich ein Dialog mit einem Gruppenfeld namens "Systemvariablen". Suchen Sie im Listenfeld diejenige mit dem Variablennamen "Pfad".
- Fügen Sie nun den Pfad des PostgreSQL-Bibliotheksordners mit einem ";" zum Pfad hinzu. Separator.
- Jetzt abmelden oder neu starten. Es ist zwingend dass Sie sich zumindest bei Windows abmelden und sich erneut anmelden, damit der Visual Studio-Debugger die zusätzlichen ausführbaren Modulpfade (diese Path-Variable) erfasst. Idealerweise wird beim Neustart der neue Systempfad beim Booten an alle Anwendungen im System gesendet.
Wenn die Path-Variable „C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem“ enthält, würden Sie „;C:\Program Files\PostgreSQL\libraries“ hinzufügen, damit es so aussieht "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Programme\PostgreSQL\libraries".
Seien Sie sich bewusst, dass Ihr Weg wirklich sein wird lang in den meisten Fällen. Fügen Sie es einfach am Ende hinzu.
Viel Glück!