还是刚才那个makefile问题

我编译是没有问题的了,不过在运行时出错:

./main: error while loading shared libraries: libmysql.so.16: cannot open shared object file: no such file or directory



我的makefile是这样写的:

OBJ = main.o PeerDbOpMgr.o
MYSQL_INC = ./mysql/include
LNK_MYSQL =./mysql/lib/ -lmysql

main : $(OBJ) 
g++ -g -o main $(OBJ) -L$(LNK_MYSQL) -lpthread -lm

main.o : main.cpp
g++ -g -c -I$(MYSQL_INC) main.cpp mgr.cpp misc_helper.cpp


PeerDbOpMgr.o : PeerDbOp.cpp PeerDbOp.h
g++ -g -c -I$(MYSQL_INC) PeerDbOp.cpp -o PeerDbOpMgr.o


clean : 
rm main $(OBJ) 



libmysql.so.16 的路径为: ./mysql/lib/libmysql.so.16  


我要怎样改才能使程序运行啊? 谢谢

作者: HelloDan   发布时间: 2011-05-09

看看环境变量LD_LIBRARY_PATH
是否正确的包含了你的libmysql.so 库文件的绝对路径

作者: justkk   发布时间: 2011-05-09

提示是说libmysql没有安装,你可以做个链接到/lib/或者/usr/lib/下面
ln -s $HOME/mysql/lib/libmysql.so.16 /usr/lib/试试看
或者直接安装一次看看

作者: hawk198   发布时间: 2011-05-09

我将这句:

LNK_MYSQL =./mysql/lib/ -lmysql

改成了绝对路径:

LNK_MYSQL =/home/dan/Documents/mini/mysql/lib/ -lmysql

这样也不行。  

绝对路径是:/home/dan/Documents/mini/mysql/lib/libmysql.so.16 

请问我该怎样改? 谢谢

作者: HelloDan   发布时间: 2011-05-09

还是看你的环境变量啊
echo $LD_LIBRARY_PATH
看是多少。。

作者: justkk   发布时间: 2011-05-09

我在shell里面输入,返回的是空,什么都没有。。。

作者: HelloDan   发布时间: 2011-05-09

我都指定了绝路径都不可以吗?

作者: HelloDan   发布时间: 2011-05-09