-2
일부 코드를 업데이트하려고 시도 중이고 make_shared
을 포함하려고했습니다. C++ 11 : 'make_shared'가 'std'의 구성원이 아닙니다.
auto m = std::make_shared<Mail>();
문제는 내가 메이크 사용하고 있다는 것입니다 :
SHELL = /bin/sh
SYSTEM = $(shell uname)
C++ = g++
CC = gcc
DFLAGS = -DGHOST_MYSQL
OFLAGS = -O3
LFLAGS = -lmysqlclient_r -lboost_date_time -lboost_thread -lboost_system -lboost_filesystem -lgmp
CFLAGS = -std=c++0x
가 컴파일이있다을 플래그도 포함 :
g++ -o mail.o -std=c++0x -O3 mail.cpp
그러나 메신저는 다음과 같은 오류지고 :
을error: 'make_shared' is not a member of 'std'
auto m = std::make_shared<Mail>();
^
error: expected primary-expression before '>' token
auto m = std::make_shared<Mail>();
^
error: expected primary-expression before ')' token
auto m = std::make_shared<Mail>();
^
make: *** [ghost.o] Error 1
내가 여기서 잘못 했습니까?
1) 컴파일러의 버전은 무엇입니까? 2) #include'을 했습니까? –