小编Dan*_*Dan的帖子

在非标准位置链接共享库后,为什么会出现运行时错误?

我是Linux的新手.我编写了一个使用MySQL的应用程序,其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


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

clean : 
    rm main $(OBJ) 
Run Code Online (Sandbox Code Playgroud)

我成功编译了它.但当我运行它时,它显示一个错误:

./main:加载共享库时出错:libmysql.so.16:无法打开共享对象文件:没有这样的文件或目录

libmysql.so.16文件在./mysql/lib/libmysql.so.16,但为什么它说没有这样的文件或目录?

linux makefile shared-libraries

3
推荐指数
1
解决办法
2107
查看次数

标签 统计

linux ×1

makefile ×1

shared-libraries ×1