当前位置: 技术问答>linux和unix
linux下mysql的问题
来源: 互联网 发布时间:2016-07-24
本文导语: 我的头文件 和 lib文件分别放在 /usr/include/ 和 /usr/lib/下 以下是代码 #include #include #include using std::cin; using std::cout; using std::endl; using std::string; int main() { MYSQL mysql; mysql_init(&mysql); return 0; } ...
我的头文件 和 lib文件分别放在
/usr/include/ 和 /usr/lib/下
以下是代码
编译可以通过 但是连接 就报告 mysql_init 这个符号不存在 也就是没加lib的原因
但是
我的makefile是这样的啊
CC=g++
CFLAGS=-Wall
LIB=-mysqlclient
Create3dt: Create3dt.o
$(CC) $(CFLAGS) $(LIB) -o Create3dt Create3dt.o
Create3dt.o: Create3dt.cpp
$(CC) -c Create3dt.cpp
clean:
rm -f Create3dt Create3dt.o
也没有提示找不到 mysqlclient
但是 还是提示 mysql_init 这个符号没定义。。
其中Create3dt.cpp就是代码文件
那位达人帮忙看看
/usr/include/ 和 /usr/lib/下
以下是代码
#include
#include
#include
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
MYSQL mysql;
mysql_init(&mysql);
return 0;
}
编译可以通过 但是连接 就报告 mysql_init 这个符号不存在 也就是没加lib的原因
但是
我的makefile是这样的啊
CC=g++
CFLAGS=-Wall
LIB=-mysqlclient
Create3dt: Create3dt.o
$(CC) $(CFLAGS) $(LIB) -o Create3dt Create3dt.o
Create3dt.o: Create3dt.cpp
$(CC) -c Create3dt.cpp
clean:
rm -f Create3dt Create3dt.o
也没有提示找不到 mysqlclient
但是 还是提示 mysql_init 这个符号没定义。。
其中Create3dt.cpp就是代码文件
那位达人帮忙看看
|
我记得是-lname,也就是说是-lmysqlclient 。
|
$ mysql_config --include
-I/usr/include/mysql
$ mysql_config --libs
-Wl,-Bsymbolic-functions -L/usr/lib/mysql -lmysqlclient
-I/usr/include/mysql
$ mysql_config --libs
-Wl,-Bsymbolic-functions -L/usr/lib/mysql -lmysqlclient