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

Fügen Sie mysql-Bibliotheken in einer cmakelist.txt hinzu und verknüpfen Sie sie

Der einfachste Weg könnte sein, (z. B. mit Google) FindMySQL.cmake zu finden Skript, das für Sie funktioniert. Dieses Skript kann mit find_package verwendet werden Befehl wie gewohnt:

list(CMAKE_MODULE_PATH APPEND <directory-where-FindMySQL.cmake-exists>)
find_package(MySQL REQUIRED)

include_directories(${MYSQL_INCLUDE_DIR})
target_link_libraries(cgm ${MYSQL_LIB})

(Namen der Variablen MYSQL_INCLUDE_DIR und MYSQL_LIB kann für konkretes Skript unterschiedlich sein).

Aber es ist nicht schwierig, sich manuell mit der MySQL-Bibliothek zu verbinden, wenn man den Weg zur Berechnung von CFLAGS und LIBS kennt.

Während der Konfigurationsphase (Ausführen von cmake ) Programme können mit execute_process ausgeführt werden , um CFLAGS und LIBS für spezifische Zielzwecke hinzuzufügen target_compile_options und target_link_libraries entsprechend :

execute_process(COMMAND mysql_config --cflags
    OUTPUT_VARIABLE MYSQL_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND mysql_config --libs
    OUTPUT_VARIABLE MYSQL_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE)

target_compile_options(cgm PUBLIC ${MYSQL_CFLAGS})
target_link_libraries(cgm ${MYSQL_LIBS})