对符号“__cxa_pure_virtual@@CXXABI_1.3”的未定义引用

对符号“__cxa_pure_virtual@@CXXABI_1.3”的未定义引用

当我运行 make 来处理以下文件时,出现以下错误https://github.com/liuliu/ccv

/usr/bin/ld: ../lib/liblinear.a(linear-static.o): 
undefined reference to symbol '__cxa_pure_virtual@@CXXABI_1.3'
//usr/lib/x86_64-linux-gnu/libstdc++.so.6: 
error adding symbols: DSO missing from command line
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我的 makefile 如下:

include ../lib/config.mk
# CC += -g -fsanitize=address -fno-omit-frame-pointer # -fprofile-arcs -ftest-coverage
LDFLAGS := -L"../lib" -lccv $(LDFLAGS)
CFLAGS := -O3 -Wall -I"../lib" $(CFLAGS)

TARGETS = bbffmt msermatch siftmatch bbfcreate bbfdetect scdcreate scddetect 
swtcreate swtdetect dpmdetect tld icfcreate icfdetect icfoptimize cifar-10 
image-net cnnclassify aflw dpmcreate

all: libccv.a $(TARGETS)

clean:
${MAKE} clean -C ../lib ; rm -f *.o $(TARGETS)

$(TARGETS): %: %.o libccv.a
$(CC) -o $@ $< $(LDFLAGS)

libccv.a:
${MAKE} -C ../lib

%.o: %.c ../lib/ccv.h
$(CC) $< -o $@ -c $(CFLAGS)

config.mk如下:

CC := clang
AR := ar
NVCC := 
CUDA_OBJS := 
DEFINE_MACROS := -D HAVE_LIBPNG -D HAVE_LIBJPEG -D HAVE_FFTW3 -D HAVE_LIBLINEAR 
-D HAVE_TESSERACT -D HAVE_AVCODEC -D HAVE_AVFORMAT -D HAVE_SWSCALE -D
USE_DISPATCH -D HAVE_SSE2 -D HAVE_GSL
prefix := /usr/local
exec_prefix := ${prefix}
CFLAGS := -fblocks -msse2 $(DEFINE_MACROS) -I${prefix}/include
NVFLAGS := --use_fast_math -arch=sm_30 $(DEFINE_MACROS)
LDFLAGS := -L${exec_prefix}/lib -lm -lpng -ljpeg -lfftw3 -lfftw3f -lpthread -llinear 
-ltesseract -lavcodec -lavformat -lswscale -ldispatch -lBlocksRuntime -lgsl 
-lgslcblas

我尝试向开发人员寻求帮助(对大多数疑问都有帮助),阅读 make 文件教程并搜索类似的问题,但仍然不明白需要做什么。

请帮忙。

相关内容