Неразрешенные символы указывают на неспособность связать необходимый объектный код или библиотеки, определяющие указанные символы. Эти конкретные символы, скорее всего, связаны с реализациями операторов C++ и delete
и, скорее всего, указывают на то, что вы не связали библиотеку C++. Я не очень хорошо знаком с цепочкой инструментов Green Hills, но в случаях, когда вы ссылаетесь на компоновщик отдельно для компилятора, вам может потребоваться явно указать ссылку на C++.
Если вы используете IDE, возможно, что вы создали проект C, но добавили код C++ - это может привести к вариантам компоновщика, которые не связывают поддержку и библиотеки C++.
Компилятор Green Hill имеет выбор библиотек C++, выбранных с помощью варианта варианта языка или опцией переопределения ссылок. Эти параметры можно установить в настройках MULTI IDE или в командной строке в зависимости от того, как вы управляете своим проектом. Обратитесь к документации/компоновщика компилятор - я нашел следующее:

Вы должны иметь доступ ко всей документации, на страницах следующих это описывают, как Teh компоновщик ищет библиотеки и как указать альтернативные библиотеки. Если вы отключили автоматический поиск в библиотеке, указав -nostdlib
, автоматическое связывание не будет выполнено, и вам придется явно связывать необходимые библиотеки.
Вы кажетесь компилировать код C++, но не связывать стандартную библиотеку C++, которая обеспечивает реализацию для операторов 'new' и' delete'. – Clifford
Я искал в папке, установленной моим компилятором, но не нашел файл libstdC++. A или что-то в этом роде. Можете ли вы предложить мне имя файла библиотеки, которое может содержать реализацию new/delete? – tuanpm
Вам нужно будет добавить информацию о toolchain к вашему вопросу (например, gcc, armcc, IAR, Green Hills или другие и номер версии), и вы действительно должны исправить вопрос, как я предложил (т. Е. Опубликовать весь журнал сборки так, мы можем видеть вызовы компилятора и используемые опции, а также полные сообщения об ошибках, иначе мы догадываемся). Возможно, ваш вопрос не дублируется и может быть вновь открыт, но требуется дополнительная информация (отредактируйте вопрос - не оставляйте комментарии с соответствующей информацией - SO не является дискуссионным форумом). – Clifford