La risposta è sorprendentemente semplice.
Il problema che stai riscontrando deriva dal fatto che l'applicazione compilata non è in grado di trovare le librerie PostgreSQL. libpq.lib viene utilizzato per compilare l'applicazione e si collega alla DLL in fase di esecuzione. Puoi aggiungerlo al tuo percorso a livello di sistema o raggruppare la DLL con la tua applicazione. (Lo aggiungerei sulla macchina di sviluppo e raggruppare il ridistribuibile per un pacchetto di installazione.)
Per includerlo nel tuo percorso prova:
- Fai clic con il pulsante destro del mouse su "Risorse del computer" e seleziona Proprietà
- Quindi fai clic su "Impostazioni di sistema avanzate".
- Fai clic sul pulsante "Variabili d'ambiente" nella parte inferiore della finestra di dialogo.
- Apparirà una finestra di dialogo con una casella di gruppo denominata "Variabili di sistema". Trova quello nella casella di riepilogo che ha un nome di variabile di "Percorso".
- Ora, aggiungi il percorso della cartella della libreria PostgreSQL al percorso con un ";" separatore.
- Ora disconnettersi o riavviare. È imperativo che ti disconnetti almeno da Windows e accedi nuovamente affinché il debugger di Visual Studio raccolga i percorsi del modulo eseguibile aggiuntivo (quella variabile Path). Idealmente, il riavvio invia il nuovo percorso di sistema a tutte le applicazioni nel sistema al momento dell'avvio.
Se la variabile Path contiene "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem", dovresti aggiungere ";C:\Programmi\PostgreSQL\libraries" per farla sembrare "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Programmi\PostgreSQL\librerie".
Tieni presente che il tuo percorso sarà veramente lungo nella maggior parte dei casi. Basta aggiungerlo alla fine.
Buona fortuna!