IAR Workbench не найдет std :: string

Я пытаюсь скомпилировать CppUtest как библиотеку в IAR workbench v6.3.3 для AVR UC3C0512C в Windows 7 x64, но когда я его компилирую, он говорит, что пространство имен std не определено.

Вот фрагмент кода, где я получаю первую ошибку, файл SimpleString.h:

#if CPPUTEST_USE_STD_CPP_LIB
#include <string>
#include <stdint.h>

SimpleString StringFrom(const std::string& other);

Последняя строка содержит std :: string, и это приносит мне 190 ошибок, связанных с этим. Сообщение:

Error[Pe276]: name followed by "::" must be a class or namespace name
C:\COM\SRC\cpputest35\include\CppUTest\SimpleString.h 143

Я попытался с помощью строки ниже, но это не помогает:

using namespace std;

введите описание изображения здесь

В разделе «Конфигурация библиотеки» я выбираю «Нормальная DLIB», я также пытался использовать «Full DLIB», но IAR не видит библиотеку «std».

введите описание изображения здесь

Есть идеи, пожалуйста?

1

Решение

Согласно руководствам IAR

The std namespace is not used in either standard EC++ or in Extended EC++. If you
have code that refers to symbols in the std namespace, simply define std as nothing;
for example:
#define std // Nothing here
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]