сделать ошибку) Неопределенная ссылка на std :: __ cxx11 :: basic_string - PullRequest
0 голосов
/ 11 октября 2018

Когда я командую 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
...