Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie verknüpfe ich C++ MySQL Connector-Bibliotheken mit Cmake?

Die MySql-Dokumentation beschreibt dies ausführlich für Visual Studio und Netbeans . Sie müssen das entsprechende für CMake tun.

Der schnelle und schmutzige Weg besteht darin, den Pfad zur Bibliothek einfach in Ihrer CMakeLists.txt fest zu codieren :

target_link_libraries(Learn_Cpp c:/path/to/mysql/lib/mysqlcppconn.lib)

Beachten Sie, dass dies mit der DLL-Version des Connectors verknüpft wird, sodass Sie die DLL in einem Verzeichnis ablegen müssen, in dem die exe sie finden kann, wenn Sie Ihr Programm nach dem Erstellen ausführen möchten. Abgesehen davon sollte dies funktionieren, funktioniert aber wirklich nur auf Ihrem Computer für eine bestimmte Build-Konfiguration. Um es portabel und robuster zu machen, könnten Sie find_library um die richtige Bibliotheksdatei für Ihre Konfiguration auf der Festplatte zu finden. Ebenso können Sie find_path verwenden um die Include-Verzeichnisse zu finden, anstatt sie fest zu codieren, und verwenden Sie find_package Boost suchen .

In modernem CMake gilt es auch als guter Stil, die Ergebnisse aus Ihrem find_path zu umschließen und find_library ruft MySql in einem importierten Ziel auf , ähnlich wie FindBoost tut es für Boost.