Hallo Zusammen,
ich lerne gerade postgreSQL und habe dabei schon alles mögliche positiv ausgetestet, so dass wir bald mit einem Projekt loslegen wollen/können.
Bei einer Sache hänge ich jedoch seit Stunden/Tagen: ich möchte mit VS Studio ein C/C++ Programm schreiben, dass Daten in meiner postgreSQL Datenbank lesen und schreiben kann.
Dazu habe ich schon etliche Tutorials gelesen und Youtube gesehen.
Was bisher passierte:
-
Ich habe mir vom Git libpqxx-master.zip geladen und als libpqxx ausgepackt.
-
Ich habe CMaker 3.22.0 installiert und als Admin ausgeführt:
2.1 “source node” habe ich de ausgepackten Pfad eingetragen: “…libpqxx”
2.2 bei “build” das selbe erweitert um “build”: “libpqxx\build”
2.3 Button “Configure” fragt nach, ob “build” angeleget werden kann, ich quittiere mit “Yes”
2.4 Im Dialog wähle ich dann “Visual Studio 16 2019” und “x64” und lasse “default”
Jetzt kommt die Popup-Fehlermeldung: “Error in configuration process, project files may be invalid” und im Trace-Fenster wir “PostgreSQL_LIBRARY” vermisst.
2.5 ich habe mit “Add Entry” “PostgreSQL_LIBRARY” und den Pfad “C:\Program Files\PostgreSQL\14\lib” gesetzt → Button “Configure” wiederholt, jetzt ohne Fehlermeldung
2.6. Button “Generate” kommen jetzt Fehlermeldungen:
WARNING: Target “pqxx” requests linking to directory “C:/Program Files/PostgreSQL/14/lib”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “runner” requests linking to directory “C:/Program Files/PostgreSQL/14/lib”. Targets may link only to libraries. CMake is dropping the item.
2.7 Wenn man nun die von CMake generierte VS Solution “libpqxx\build\libpqxx.sln” mit VS erzeugt, kommen Link-Fehler, wie z.B.:
"3>pqxx.lib(result.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol “PQresultStatus” in Funktion "“private: class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl pqxx::result::status_error(void)const " (?status_error…”
Ich denke, das Problem liegt im “CMakeLists.txt” ?!?
Hat jemand Erfahrungen damit gemacht?
Danke für die Hilfe,
VG Rossi