今天折腾了一天,终于把用在开发板powerpc上的mysql编程所用到的c语言库文件(libmysql libmysqlclient)弄好了。在google上逛的时候,发现关于这个方面的文章比较少,现在写下来,为以后做个备忘吧! 也希望给以后有遇到类似情况的人,做个提示吧,希望可以有所帮助,少走些弯路!
闲话少说,进入正题!
在做之前先讲一下应该下哪个源码进行编译才行!我就在这个上面走了好大的弯路啊!
因为我们在嵌入式环境中一般只会用到mysql的client(客户端),也就是说我们需要的是连接数据库编程所用的那一部分库!而我刚开始的mysql都是在linux下直接安装,就想当然的认为,应该下载 MySQL Community Server 的源码进行编译!WRONG!结果编译了一整个上午也没搞好!从mysql的mail list中看到mysql是不支持交叉编译的!唉!
在mysql的官网上逛,无意中在downloads页面下面,无意中看到有个MySQL Connectors 的连接,心中一亮,靠!原来应下这个才对嘛!
A client library for C development.
这才是我所想要的东西阿!然后就打开下载页面 ,选择平台sourse code 下载 , 选择一个国家的镜像下载就行了!很快就下载好了,然后就是解压缩了,这个就没什么好讲了 ,然后就进入解压好的目录,看到好多Cmake 开头的文件啊!没见过啊!
查看Connector/C Documentation 才知道原来是用来自动生成makefile的,然后下面就是查看下关于Cmake的使用了,当然先要把Cmake安装上了,apt-get 安装上就好了!编辑CMakeLists.txt ,找到其中的 CMAKE_CXX_COMPILER 和CMAKE_C_COMPILER 在它们的参数改为
SET(CMAKE_CXX_COMPILER "/work/crosstool/gcc-2.95.3-glibc-2.1.3/powerpc-linux-gnu/bin/powerpc-linux-gnu-g++")
SET(CMAKE_C_COMPILER "/work/crosstool/gcc-2.95.3-glibc-2.1.3/powerpc-linux-gnu/bin/powerpc-linux-gnu-gcc" )
注意:其中引号内的编译器是powerpc上所使用的交叉编译器,需要改成你自己使用的交叉编译器!!!
保存退出,
在终端内输入如下命令
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=mypath
其中的mypath换成你想要安装目录(最后生成的文件都会在那里)
如果没什么意外的话很快就会生成一个Makefile了
下面的工作就当然就是make了
make 以后 就是 make install 然后就到前面设置的mypath里面找你需要的库文件,就ok了!
不要忘记把编译好的库copy到你交叉编译链的目录下!以后就在编译程序的使用就不用每次都指定了,使用库的时候不要忘了加 -lmysqlclient
请尊重作者的劳动成果,转载请注明出处!