日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

交叉编译mysql客户端libmysql

發布時間:2024/9/5 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 交叉编译mysql客户端libmysql 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://blog.csdn.net/lilongherolilong/article/details/7521736


交叉編譯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 <stdio.h>?
#include <stdlib.h>?
#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客户端libmysql的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。