sql >> Base de Datos >  >> RDS >> Mysql

Agregue y vincule bibliotecas mysql en un cmakelist.txt

La forma más sencilla podría ser encontrar (por ejemplo, con google) FindMySQL.cmake guión, que funciona para usted. Este script se puede usar con find_package comando como de costumbre:

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})

(Nombres de variables MYSQL_INCLUDE_DIR y MYSQL_LIB puede ser diferente para scripts concretos).

Pero no es difícil enlazar manualmente con la biblioteca MySQL, conociendo la forma de calcular CFLAGS y LIBS.

Durante la etapa de configuración (ejecución de cmake ) los programas se pueden ejecutar con execute_process , para agregar CFLAGS y LIBS para uso de destino específico target_compile_options y target_link_libraries correspondientemente:

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})