将mysql包含到cmake中 [英] include mysql into cmake
本文介绍了将mysql包含到cmake中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在kdevelop(与cmake集成)中编写一个控制台应用程序,其中我想连接到mysql。我安装了libmysqlclient16-dev。我的main.cpp文件看起来像这样:
#include< stdlib.h>
#include< iostream>
#include< mysql / mysql.h>
int main(int argc,char ** argv){
MYSQL * conn_ptr;
conn_ptr = mysql_init(NULL);
if(!conn_ptr){
std :: cout<< mysql init failed\\\
;
exit(1);
}
conn_ptr = mysql_real_connect(conn_ptr,localhost,user,pass,db,0,NULL,0)
if(conn_ptr){
std :: cout<< connection success\;
} else {
std :: cout<< connection failed\;
}
mysql_close(conn_ptr);
return 0;当我手动编译它时,
}
>
g ++ main.cpp -lmysqlclient -o main
但我想把它包含在cmake中。由kdevelop生成的CMakeLists.txt如下所示:
项目(财务)
add_executable(finances main.cpp)
我应该添加什么到cmake,使其包括mysqlclient库? / p>
解决方案
target_link_libraries(finances mysqlclient)
/ pre>
似乎有效。
I'm writing a console application in kdevelop (integrated with cmake) in which I want to connect to mysql. I have installed libmysqlclient16-dev. My main.cpp file looks like this:
#include <stdlib.h> #include <iostream> #include <mysql/mysql.h> int main(int argc, char **argv) { MYSQL *conn_ptr; conn_ptr = mysql_init(NULL); if (!conn_ptr) { std::cout << "mysql init failed\n"; exit(1); } conn_ptr = mysql_real_connect (conn_ptr, "localhost", "user", "pass", "db", 0, NULL, 0); if (conn_ptr) { std::cout << "connection success\n"; } else { std::cout << "connection failed\n"; } mysql_close(conn_ptr); return 0; }
and it compiles and works correctly, when I compile it manually:
g++ main.cpp -lmysqlclient -o main
But I want to include it into cmake somehow. The CMakeLists.txt, generated by kdevelop, looks like the following:
project(finances) add_executable(finances main.cpp)
What should I add to cmake to make it include mysqlclient library?
解决方案target_link_libraries(finances mysqlclient)
Seems to work.
这篇关于将mysql包含到cmake中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文