急!:mysql c API 编程问题。
用mysql c API 编程,编译时老是出现mysql c 函数没有定义。这证明没联上mysql.我已经在我的程序中包括进了头文件mysql.h,它在/usr/include 下,我的库文件libmysqlclient.so.10在/usr/lib下。
我是否还要设置一些参数(环境变量),我该在linux下如何设置? 环境变量?
我好象没设置阿
试试这个
g++ -o sql -I/usr/include/mysql/ -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lmsql.c 谢谢楼上兄弟的答复.
不过我的这个程序是一个项目中的一个,如果我用你的那种方法,就会出现另外一个链接库出现错误。因为整个项目还用到了pwlib库,openh323协议。我的这个程序只是一个加在其中而已。
能否用make 编译?有什么办法解决? 不太明白你的意思
你在makefile里 加上 -I/usr/include/mysql/ -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm
其余照旧阿
还是编译不通过?
pwlib库,openh323协议会影响到mysql吗?
先自己编一段代码试试
如果编译不过 就是mysql的问题
如果编译过了 就是那个项目的问题
这个看过吗http://www.mysql.com/doc/en/C.html 我按照您的意思对makefile文件做了一些修改:
修改后的文件如下:
ifndef NO_MYSQL
ifndef MYSQLDIR
ifneq (,$(wildcard /usr/include/mysql/mysql.h))
MYSQLDIR := /usr/include/mysql
export MYSQLDIR
endif
endif
ifdef MYSQLDIR
ifneq (,$(wildcard $(MYSQLDIR)))
STDCCFLAGS_stub := $(STDCCFLAGS)
STDCCFLAGS = -DHAS_MYSQL=1 -I$(MYSQLDIR) $(STDCCFLAGS_stub)
#LDFLAGS += -L(usr/lib/mysql)/lib
ENDLDLIBS += -lmysqlclient
HAS_MYSQL = 1
endif
但是编译后还有错误:
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
请问楼上兄弟该怎办?(我的库文件在/usr/lib/msyql/lib下,库文件名为libmysqlclient.so.10) 看了你的makefile我也不知道最后用的是啥语句编译
#include <mysql/mysql.h>
#include <stdio.h>
int main(){
MYSQL mysql;
mysql_init(&mysql);
return 1;
}
gcc -o sql -I/usr/include/mysql/ -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm a.c
编译试试 成功的话那mysql肯定没问题 用gcc编译还是出现:
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
那我否重新要编译mysql了? 用gcc编译还是出现:
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
那我要重新要编译mysql了? 晕
别告诉我你没有安装 mysql-devel 楼上的兄第,还有个问题:
就是用mysql函数mysql_query()往数据库发送动态数据时,sql语句该怎么写?
如:
我的动态数据为:
query=(const unsigned char*) AsDotstring(ep->getcallsignaladdress())
然后我想把它送到数据库中,我用mysql_query,试了很久都没有成功,在网上查也只有发送静态数据库的方法.请问我该怎么写? 说真的我不知道
我只用sql做了一些简单的事情没遇到过你这样复杂的
你问问别人吧 谢谢你.
以后长联系.
我的QQ号:
153658306
页:
[1]