Skip to content

Missing Implementation for __FlashStringHelper related String functions #439

Description

@MaxIfx

Prerequisites

Can you reproduce the problem reliably?
Yes, undefined reference errors are thrown when trying to use the SimpleSerialShell.h library

Did you check current release notes for known issues?

If this is not the latest release, have you checked newer releases?
I've checked with the latest 3.5.5 Version

Description:

A clear and concise description of what the bug is.

When registering new commands using the F() Macro using SimpleSerialShell.h, the compiler throws undefined reference errors related to the string library. Looking at the source code of WString.h and WString.cpp in the XMC Core it looks like the declaration for the following functions exist in the header but there is no actual implementation:

  • String & String::copy(const __FlashStringHelper *pstr, unsigned int length)
  • String &String::operator=(const __FlashStringHelper *str)
  • String::String(const __FlashStringHelper *pstr)

The compiler issues can be resolved by copying the implementation from the AVR Core, however I have not tested if the code works with this as of yet.

Steps to Reproduce:

  1. Install SimpleSerialShell.h and try to configure custom functions

Expected Result:

No Compiler Error 😃

Actual Result:

Compiler Error 🥲

Frequency (1/1, 1/50, 1/100):

1/1

Build/Commit:

3.5.5

Target:

XMC1100 Boot Kit

Host OS and Version:

Windows

Compiler:

Include the version!

Environment

Provide the context surrounding this problem. Perhaps an IDE, a debug probe, an RTOS, etc. (and versions)

THANKS!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions