shrewl 发表于 2003-11-28 17:56:32

急!:mysql c API 编程问题。

用mysql c API 编程,编译时老是出现mysql c 函数没有定义。这证明没联上mysql.
我已经在我的程序中包括进了头文件mysql.h,它在/usr/include 下,我的库文件libmysqlclient.so.10在/usr/lib下。
我是否还要设置一些参数(环境变量),我该在linux下如何设置?

applepie 发表于 2003-11-28 18:44:51

环境变量?
我好象没设置阿

试试这个
g++ -o sql -I/usr/include/mysql/ -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lmsql.c

shrewl 发表于 2003-11-29 14:15:38

谢谢楼上兄弟的答复.
不过我的这个程序是一个项目中的一个,如果我用你的那种方法,就会出现另外一个链接库出现错误。因为整个项目还用到了pwlib库,openh323协议。我的这个程序只是一个加在其中而已。
能否用make 编译?有什么办法解决?

applepie 发表于 2003-11-29 15:49:03

不太明白你的意思

你在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

shrewl 发表于 2003-12-1 17:28:05

我按照您的意思对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)

applepie 发表于 2003-12-1 17:48:28

看了你的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肯定没问题

shrewl 发表于 2003-12-2 11:10:56

用gcc编译还是出现:
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status

那我否重新要编译mysql了?

shrewl 发表于 2003-12-2 11:13:50

用gcc编译还是出现:
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status

那我要重新要编译mysql了?

applepie 发表于 2003-12-2 12:21:25


别告诉我你没有安装 mysql-devel

shrewl 发表于 2003-12-11 16:37:20

楼上的兄第,还有个问题:
就是用mysql函数mysql_query()往数据库发送动态数据时,sql语句该怎么写?
如:
   我的动态数据为:
    query=(const unsigned char*) AsDotstring(ep->getcallsignaladdress())
   然后我想把它送到数据库中,我用mysql_query,试了很久都没有成功,在网上查也只有发送静态数据库的方法.请问我该怎么写?

applepie 发表于 2003-12-12 14:55:29

说真的我不知道
我只用sql做了一些简单的事情没遇到过你这样复杂的
你问问别人吧

shrewl 发表于 2003-12-13 09:05:01

谢谢你.
以后长联系.
我的QQ号:
153658306
页: [1]
查看完整版本: 急!:mysql c API 编程问题。