Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como faço para vincular as bibliotecas do conector MySQL C++ ao Cmake?


Os documentos do MySql descrevem isso extensivamente para Visual Studio e Netbeans . Você precisa fazer a coisa respectiva para o CMake.

A maneira rápida e suja é apenas codificar o caminho para a biblioteca em seu CMakeLists.txt :
target_link_libraries(Learn_Cpp c:/path/to/mysql/lib/mysqlcppconn.lib)

Observe que isso será vinculado à versão dll do conector, portanto, você precisa colocar a dll em um diretório onde o exe possa encontrá-la se desejar executar seu programa após a compilação. Fora isso, isso deve funcionar, mas na verdade só funcionará em sua máquina para uma configuração de compilação específica. Para torná-lo portátil e mais robusto, você pode usar find_library para localizar o arquivo de biblioteca correto para sua configuração no disco. Da mesma forma, você pode usar find_path para localizar os diretórios de inclusão em vez de codificá-los e use find_package para localizar Boost .

No CMake moderno, também é considerado um bom estilo agrupar os resultados do seu find_path e find_library chama o MySql em um destino importado , semelhante a como FindBoost faz isso para Boost.