我在网上到处找,似乎找不到解决这个问题的方法。我在makefile和env文件中尝试了-std=c++11、-std=c++0x和-std=c++1y标志,所有这些都对以下错误没有影响:
'to_string' is not a member of 'std'
range based 'for' loops are not allowed in C++98 mode
我正在尝试运行在 RepastHPC 之上构建的 C++ 程序,该程序在 Ubuntu 14.04 VirtualBox VM 上运行。RepastHPC 本身的 makefile 和 C++ 代码的 env 文件都包含该标志。env 文件在 C++ 代码的 makefile 中使用,因此它不会从那里丢失。
# Repast HPC
# ENVIRONMENT DEFINITIONS
MPICXX=/home/repasthpc/repast_hpc-2.1.0/INSTALLATION/mpich-3.1.4/src/env/mpicxx
-std=c++11 -D USE_CPP11 -stdlib=libc++
BOOST_INCLUDE=-I/usr/local/include/
BOOST_LIB_DIR=-L/usr/local/lib/
BOOST_LIBS=-lboost_mpi-mt-s -lboost_serialization-mt-s -lboost_system-mt-s -lboost_filesystem-mt-s
REPAST_HPC_INCLUDE=-I/usr/local/include/
REPAST_HPC_LIB_DIR=-L/usr/local/lib/
REPAST_HPC_LIB=-lrepast_hpc-2.1
TISSUE_INCLUDE=-I/Users/repasthpc/Desktop/hpcmodel/angiogenesis_osteogenesis_simulator/src/
------------------------------------------------------------
# Repast HPC
# MANUAL BUILD MAKEFILE
# VARIABLES (Supply values for these; for definitions and examples, see INSTALL)
CXX=mpicxx -std=c++11 -D USE_CPP11
CXXLD=mpicxx
BOOST_INCLUDE_DIR=/usr/local/include
BOOST_LIB_DIR=/usr/local/lib
BOOST_INFIX=-mt
NETCDF_INCLUDE_DIR=/usr/local/include
NETCDF_LIB_DIR=/usr/local/lib
CURL_INCLUDE_DIR=/usr/local/include
CURL_LIB_DIR=/usr/local/lib
**这不是makefile的结束,而是相关部分的结束**
有什么想法吗?我彻底糊涂了。
谢谢!瑞秋