I’ve been working on a project that mixes C and C++ with the ARM compiler for few months without issues. Yesterday I upgraded Mbed Studio to the 1.4.2 version and now the linter is showing many false problems. I refer to them as false because the code compiles just fine.
So far I could identify the following issues:
Unknown type name ‘uintX_t’
I had the stdint.h header included beforehand in another header used by a source file. On this source file the ‘quick fix’ suggests including stdint.h, and if I click fix it is included but the error remains.
Use of undeclared identifier ‘memcpy’; did you mean ‘wmemcpy’? (fix available)
I need to use ‘memcpy’ and I’m including string.h. Then, even if I click on fix, then the following error appears: No matching function for call to ‘wmemcpy’
Again, these “problems” don’t prevent the code from compiling. The errors are only shown in the source files, no matter if they are C or C++.
Hi, I have the exact same problem, however my code that compiled perfectly in 1.4.1, does not now compile because it says “L6218E: Undefined symbol rtos::ThisThread::sleep_for(…etc”
My install of 1.4.2 is complaining about ‘strlen’, ‘strtok’ and ‘strcpy’
Does anyone know where I can download the 1.4.1 installer so I can get back up and running again?
Hey, I had the same issue with the ThisThread::sleep_for() method. Try to change it to millisenconds (just the number: 100) instead of writing “5s” or “100ms”. That worked for me yesterday, but today I had to add the "unit"again. So weird…
this issue occurs in Keil Studio without a solution for few months.
I don’t remember if I already reported it or not. There is not public list of actual known issues and its status.
Clearly there is an issue with the latest upgrade. I am having a problem with “strlen”. Worked in version 1.4.1 but gives issues with 1.4.2. I assumed it was my own ignorance and have spent many hours trying to solve the problem - with no success.
I’m sure many of us would like to know how to resolve the problem, or how to revert an Mbed Studio installation to version 1.4.1.
Hi.
We are also having problems. All worked OK on 1.4.1 but after update Studio to 1.4.2 Lint cannot find many header files (such as stddef.h, stdint.h and so on). Same question: where to find older version installation or what have to be done to solve this problem on updated version??? Big project has stopped… If we do not have any solution in a short time we will have to change IDE to some other one…
Hello, I happen to have the Mbed studio 1.4.1 installation executable saved on my machine, for you looking “revert” I guess the best option would be to uninstall 1.4.2 and install 1.4.1 instead, and then just never clicking the update prompt. I am not sure if posting download links is allowed, but see the link below for a download.
Hello, before taking the decision to uninstall and switch back to version 1.4.1 provided by Tijn_Losekoot I tried different things including a clean build.
And this clean build solved my Error: L6218E.
The Mbed Studio team are investigating the issues reported with C/C++ support in version 1.4.2. This is most likely caused by the upgrade from Arm Compiler 6.15 to 6.16.
Apologies for any inconvenience, we’ll keep you posted on the fix.
If you are affected by this issue, you can roll back to the old release:
Uninstall 1.4.2
Download and install 1.4.1 for your platform: LinuxWindowsMac
@mgordon01
Thanks for the links to the older versions.
I figured out the link for v1.4.0
Now at least i can revert back to that version and get rid of the linting errors and also have my printf and friends function properly which have been broken since v1.4.1
I’m seeing similar issues with Intellisense in Mbed Studio 1.4.3 where say int32_t and bool are flagged up as being ‘Use of Undeclared Identifier’ in the editor (using clang?), Intellisense with both stdint.h and stdboo.h included. The code compiles fine with the default (Arm?) compiler tool chain.
I only see the issue if the file I’m compiling is a .c file. If I change the suffix to .cpp to invoke the compiler in C++ mode with C++ includes then the intellisense issues go away.