Я новичок в OpenWRT, и мне нужно кросскомпилировать программу на С++. Проблема в том, что я все еще получаю эту ошибку:
error: 'to_string' is not a member of 'std'
"duplicate raw value " + std::to_string(it->first));
^
Теперь я знаю, проблема в том, что во время компиляции не используется флаг c++11. Я пытался добавить TARGET_CXXFLAGS в Makefile, но мне это не помогло.
Вот Makefile:
include $(TOPDIR)/rules.mk
PKG_NAME:=gateway
PKG_VERSION:=1.0
PKG_RELEASE:=2
INIT_SCRIPT_NAME:=$(PKG_NAME)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_PROTO:=git
PKG_BUILD_DEPENDS:=+libmosquittopp +poco +zmq +cppzmq +openzwave +cppunit +bluez-libs
PKG_SOURCE_URL:=....
PKG_SOURCE_VERSION:=...
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS += \
-DCMAKE_INSTALL_PREFIX=/ \
-DCMAKE_BUILD_TYPE:STRING=Release
TARGET_CXXFLAGS += -DPOCO_NO_FPENVIRONMENT
TARGET_CXXFLAGS += -g -std=c++11 -Wall -pedantic
....
Спасибо за совет, Якуб.
to_string
. В этом случае изменение Makefile не поможет. - person Marshall Clow   schedule 21.03.2018