微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

找不到 libstdc++.so.6 版本 glibcxx_3.4.21'

如何解决找不到 libstdc++.so.6 版本 glibcxx_3.4.21'

我正在尝试在带有 OpenCL 内核的 FPGA 板上实现我的 c++ 代码。我的虚拟机上的内核编译进行得很顺利,对于 C++ 中的 main 也是如此。但是当我尝试在 FPGA 上运行主机代码时,我收到此错误

/usr/lib/libstdc++.so.6 version 'GLIBCXX_3.4.21' not found 

但是使用命令:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

我明白了:

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29
GLIBCXX_DEBUG_MESSAGE_LENGTH

实际上,我认为编译器希望 libstdc++.so.6 在路径 /usr/lib 中,而它在路径 /usr/lib/x86_64-linux-gnu/ 中 我尝试了几种解决方案,例如:

libstdc++.so.6: version `GLIBCXX_3.4.20' not found

有人知道怎么解决吗? 谢谢 ! (原谅我的英语我是法国人)

这是我的生成文件

# OpenCL compile and link flags.
AOCL_COMPILE_CONfig=$(shell aocl compile-config --arm)
#AOCL_LINK_CONfig=$(shell aocl link-config)
AOCL_LINK_CONfig := $(wildcard $(INTELFPGAOCLSDKROOT)/host/arm32/lib/*.so) $(wildcard $(AOCL_BOARD_PACKAGE_ROOT)/arm32/lib/*.so)

# Compilation flags
ifeq ($(DEBUG),1)
CXXFLAGS += -g
else
CXXFLAGS += -O2
endif

# Compiler. ARM cross-compiler.
CXX := arm-linux-gnueabihf-g++

# Target
TARGET := test2_host
TARGET_DIR := test2

# Directories
INC_Dirs := ../common/inc
LIB_Dirs := 

# Files
INCS := $(wildcard )
SRCS := $(wildcard *.c *.cpp  ../opt/intelFPGA/18.1/hld/board/terasic/de10_nano/examples/common/src/AOCLUtils/*.cpp)
#SRCS := $(wildcard *.c *.cpp  ../home/benja/Téléchargements/testbench3/Banc_de_test/Banc_de_test/)
LIBS := rt pthread

# Make it all!
all : $(TARGET_DIR)/$(TARGET)

# Host executable target.
$(TARGET_DIR)/$(TARGET) : Makefile $(SRCS) $(INCS) $(TARGET_DIR)
    $(ECHO)$(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC $(foreach D,$(INC_Dirs),-I$D) \
            $(AOCL_COMPILE_CONfig) $(SRCS) $(AOCL_LINK_CONfig) \
            $(foreach D,$(LIB_Dirs),-L$D) \
            $(foreach L,$(LIBS),-l$L) \
            -o $(TARGET_DIR)/$(TARGET)

$(TARGET_DIR) :
    $(ECHO)mkdir $(TARGET_DIR)  

# Standard make targets
clean :
    $(ECHO)rm -f $(TARGET_DIR)/$(TARGET)

.PHONY : all clean

解决方法

尝试在终端中运行此命令:

module load gcc/6.2.0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。