5. 关于eclipse编译project
由于程序中有#include
所以需要在eclipse中加上对mysql.h的路径
项目->属性->C/C++Build -> settings -> gcc c complier ->
includes -> include paths
添加两个路径:/usr/lib/mysql;/usr/include/mysql
对于64位的mysql:/usr/lib64/mysql ; /usr/include/mysql
要让eclipse工具能正确实现编译指令:
gcc -o test test.c -lmysqlclient -lm -I/usr/include/msqyl
-L/usr/lib64/mysql
还需要添加对 -lmysqlclient -lm两个参数
项目->属性->C/C++Build -> settings -> gcc
c linker-> libraries
libraries(l) 中添加两个参数mysqlclient和m
从这里可以看出gcc l参数的作用。其中m是包含了数学方法 。
libraryies search path (L)中添加/usr/lib/mysql
到这个地址去找libmysqlclient.a这个文件。
终于可以访问msyql数据库了。
通过执行mysql指令:
GRANT ALL PRIVILEGES ON *.* TO 'usr'@'%'
IDENTIFIED BY 'mypassword'
在其它机器上登录linux mysql ,可以测试数据库的操作了。
/root/dev/php-5.3.6/sapi/cli/php: error while loading shared
libraries: libmysqlclient.so.18: cannot open shared object file: No
such file or directory
make: *** [ext/phar/phar.php] Error 127
网上找到的解决办法是
ln -s
/usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/
照做后仍然报错,原因是该方法适用于32位系统,64位系统应使用下面的这行
ln -s
/usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
另外:在编译的时候,不写mysql的路径,而使用mysqlnd代替,也可解决该问题的出现。