https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81371
--- Comment #3 from Jonny Grant <jg at jguk dot org> --- Hello Perhaps just std::__cxx11::basic_string or std::basic_string in the message? But the char_traits and allocator aren't really needed are they? (I didn't write them in the function declaration). I appreciate that a string contains chars, and has an internal allocator, but I don't need to know this when compiling.. So it could be: main.cpp:(.text+0x41): undefined reference to `myfunc(std::__cxx11::basic_string)' It's worse when I have functions with many std::string parameters, and std::vector Regards, Jonny