libstdc++.so.6: cannot open shared object file: No such file or directory
找不到libstdc++.so.6的原因,大致有以下几种:1.程序中没有编入路径,使用rpath指定路径,在Makefile中加入如下路径:OBJS=*.oODIR=objLDFLAGS=-Wl,-rpath=/lib$(ROOT_DIR)/$(BIN_DIR)/$(BIN):$(ROOT_DIR)/$(OBJS_DIR)/$(OBJS)$(CC) $^ -o $@ $(LDFLAGS)其中/li
找不到libstdc++.so.6的原因,大致有以下几种:
1. 程序中没有编入路径,使用rpath指定路径,在Makefile中加入如下路径:
OBJS=*.o
ODIR=obj
LDFLAGS=-Wl,-rpath=/lib
$(ROOT_DIR)/$(BIN_DIR)/$(BIN):$(ROOT_DIR)/$(OBJS_DIR)/$(OBJS)
$(CC) $^ -o $@ $(LDFLAGS)
其中/lib为库的路径。
2. 由于环境变量的原因,或者是32位或者64位的兼容原因,确实没有安装这个库,这就需要安装相应的库,在/etc/profile中设置库的环境变量。
3. 这个文件存在,但是关联文件缺失,这是最常勿略的问题,使用ll命令查看库的关系
例如,查看我的库
ll /lib
lrwxrwxrwx. 1 root root 19 Jul 3 00:55 libstdc++.so -> libstdc++.so.6.0.20
lrwxrwxrwx. 1 root root 19 Jul 3 00:55 libstdc++.so.6 -> libstdc++.so.6.0.20
其实libstdc++.so.6只是一个软链接,实际是缺失了libstdc++.so.6.0.20这个库,把这个库找到复制到lib中。
更多推荐
所有评论(0)