make error) Undefined reference to std::__cxx11::basic_string

荒凉一梦 提交于 2019-12-24 18:31:35

问题


When I command make, I got errors like this:

filter_block.cc:(.text+0x1c4): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long)'

I found some solutions for this error, like adding -D_GLIBCXX_USE_CXX11_ABI=0, but I don't know how to add the command for make command.

The Makefile is written as:

.SUFFIXES: .c .cpp
CC              = g++ -fopenmp
CFLAGS          = -c -O2 -Wall -D_I386 -D_UNIX -fPIC -Wno-unused-result -std=c++11 -Wno-sign-compare
LFLAGS          = -shared -O2 -o
LIBS            = -llmi -lblas -lboost_regex -lpthread -lleveldb

How can I add -D_GLIBCXX_USE_CXX11_ABI=0 into Makefile?

*Ubuntu version = 14.04

*libstdc++ version

$ /sbin/ldconfig -p | grep stdc++
libstdc++.so.6 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6

*gcc version

$ gcc --version
gcc (Ubuntu 5.4.1-2ubuntu1~14.04) 5.4.1 20160904

*ld version

$ ld --version
GNU ld (GNU Binutils for Ubuntu) 2.26.1

来源:https://stackoverflow.com/questions/52757545/make-error-undefined-reference-to-std-cxx11basic-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!