交叉编译mysql客户端libmysql 确定linux安装好了cmake, ubuntu下安装cmake: sudo apt-get install cmake 设在好arm-linux export PATH=/usr/local/arm/4.3.2/bin:$PATH 到mysql官网上下载mysql connector/c的源代码包 tar xvzf mysql-connector-c-6.0.2.tar.gz 修改CMakeLists.txt文件 添加 SET(CMAKE_CXX_COMPILER "arm-linux-g++") SET(CMAKE_C_COMPILER "arm-linux-gcc") 然后创建myconnector文件夹, mkdir myconnector 运行cmake命令,设在编译后生成的文件路径 cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=myconnector make make install 编写mysqltest.c文件 #include #include #include "mysql.h" int main(void) { const char *host = "59.71.72.133"; const char *user = "root"; const char *pass = ""; const char *db = "mysql"; /* 定义mysql变量 */ MYSQL mysql; MYSQL_RES *rs; MYSQL_ROW row; mysql_init(&mysql); /* 初始化 */ /* 连接数据库 */ if (!mysql_real_connect(&mysql, host, user, pass, db, 0, NULL, 0)) { printf("数据库连接失败: %s\n", mysql_error(&mysql)); } else { printf("数据库连接成功!\n"); } char *sql = "select host,user from user order by rand()"; if (mysql_query(&mysql, sql)!=0) { /* 查询 */ printf( "%s", mysql_errno(&mysql), mysql_error(&mysql)); } rs = mysql_store_result(&mysql); /* 获取查询结果 */ while ((row = mysql_fetch_row(rs))) { /* 获取每一行记录 */ printf( "%s---%s", row[0], row[1]); } mysql_free_result(rs); /* 释放结果集 */ mysql_close(&mysql); /* 关闭连接 */ return 1; } 把编译好的myconnector文件夹下的include和lib文件夹放到mysqltest.c同一目录下 arm-linux-gcc -L./lib -I./include -o mysqltest mysqltest.c -lmysqlclient 这样就生成好了目标文件。 当然我们可以把myconnector文件夹下的include和lib文件夹放到arm-linux编译器的相应目录下,这样就可以不用每次都设置编译参数了
mysql 客户端 交叉编译_MySQL c客户端的交叉编译
最新推荐文章于 2023-11-10 16:24:57 发布