当我命令make
时,出现如下错误:
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)'
我找到了解决此错误的一些方法,例如添加-D_GLIBCXX_USE_CXX11_ABI=0
,但是我不知道如何为make
命令添加命令。
Makefile
的写法是:
.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
如何将-D_GLIBCXX_USE_CXX11_ABI=0
添加到Makefile
中?
* Ubuntu版本= 14.04
* libstdc ++版本
$ /sbin/ldconfig -p | grep stdc++
libstdc++.so.6 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
* gcc版本
$ gcc --version
gcc (Ubuntu 5.4.1-2ubuntu1~14.04) 5.4.1 20160904
* ld版本
$ ld --version
GNU ld (GNU Binutils for Ubuntu) 2.26.1