首先... 你是不是拼错了,看上去少个y?
-lmysqlclient
如果你使用
g++ -Wall conntext.cpp -o conn -lmysqlclient
还是报错的话,那就是linux搜索路径里没有包含libmysqlclient.so所在路径。
你执行下mysql_config --cflags --libs就明白了。
在我机器上执行结果是这样的(不同机器上返回路径可能有所不同)
chao@chao-VirtualBox:~$ mysql_config --cflags --libs
-I/usr/include/mysql
-L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -ldl
也就是说,你输入这个命令
g++ conntext.cpp `mysql_config --cflags --libs`
实际上在执行的是
g++ conntext.cpp -I/usr/include/mysql -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -ldl
你可以看到,这个命令指定了额外的lib路径
如果你想用第一种方法编译的话,方法很多
你可以手动把mysql_config --cflags --libs返回的路径添加到
环境变量$PATH或者$LD_LIBRARY_PATH里
你也可以做个在/usr/lib做个libmysqlclient.so的软连接
就是不太灵活罢了