我正在努力理解MakeFiles,并试图在make文件中将CFLAGS设置为C++11。我读过以下内容:Makefile modification to support c++11 --我已经实现了其中一个解决方案,但是,它似乎不起作用,我得到了同样的错误:
错误:‘i’没有命名类型(auto i=begin;(i != end);i++)
这是我的MakeFile:
# Location of the Python Header files
# This is system dependant.
PYTHON_VERSION = 2.7
PYTHON_INCLUDE = /usr/include/python$(PYTHON_VERSION)
CFLAGS += -03
CFLAGS += -std=c++0x
CFLAGS += -pg -D_DEBUG -g -c -Wal
# location of the Boost Python include files and library
BOOST_INC = /usr/include
BOOST_LIB = /usr/lib
WAV_TARGET = /includes/Wav
WAV_SOURCE = Wav
# Compile the .wav Python and Cpp file
$(WAV_TARGET).so: $(WAV_TARGET).o
g++ -shared -Wl, --export-dynamic ($WAV_TARGET).o -L$(BOOST_LIB) -lboost_python -
L/usr/lib/python$(PYTHON_VERSION)/config -lpython$(PYTHON_VERSION) -o
$(WAV_TARGET).so
$(WAV_TARGET).o: $(WAV_SOURCE).cpp
g++ -I$(PYTHON_INCLUDE) -I$(BOOST_INC) -fPIC -c Wav.cpp
我可能漏掉了一些很蠢的东西,但我哪里出问题了?
发布于 2013-11-16 13:55:02
在调用CFLAGS
时,您的目标甚至没有使用g++
。您可以将$(CFLAGS)
添加到目标:
$(WAV_TARGET).o: $(WAV_SOURCE).cpp
g++ $(CFLAGS) -I$(PYTHON_INCLUDE) -I$(BOOST_INC) -fPIC -c Wav.cpp
或者将-std=c++11
添加到您列出的标志中:
$(WAV_TARGET).o: $(WAV_SOURCE).cpp
g++ -std=c++11 -I$(PYTHON_INCLUDE) -I$(BOOST_INC) -fPIC -c Wav.cpp
https://stackoverflow.com/questions/20019239
复制相似问题