When building with VisualGDB the compilation fails due to the lack of required include files Dir.h and File.h. Compiler report: 1>------ Build started: Project: exported-mbed-STM32F429-nucleo, Configuration: Debug VisualGDB ------ 1> FileSystem.cpp 1> mbed-os/features/filesystem/FileSystem.cpp: In instantiation of 'class Managed<mbed::File>': 1> mbed-os\features\filesystem\FileSystem.cpp(141,19): note : required from here 1>mbed-os\features\filesystem\FileSystem.cpp(130,7): error : invalid use of incomplete type 'class mbed::File' 1> class Managed : public F { 1> ^~~~~~~ 1> mbed-os\features\filesystem\FileSystem.cpp(18): 1> mbed-os\features\filesystem\FileSystem.h(39,7): note : forward declaration of 'class mbed::File' 1> class File; 1> ^~~~ 1> mbed-os/features/filesystem/FileSystem.cpp: In member function 'virtual int mbed::FileSystem::open(mbed::FileHandle**, const char*, int)': 1>mbed-os\features\filesystem\FileSystem.cpp(141,19): error : cannot convert 'Managed<mbed::File>*' to 'mbed::File*' in initialization 1> File *f = new Managed<File>; 1> ^~~~~~~~~~~~~ 1>mbed-os\features\filesystem\FileSystem.cpp(142,16): error : invalid use of incomplete type 'class mbed::File' 1> int err = f->open(this, path, flags); 1> ^~ 1> mbed-os\features\filesystem\FileSystem.cpp(18): 1> mbed-os\features\filesystem\FileSystem.h(39,7): note : forward declaration of 'class mbed::File' 1> class File; 1> ^~~~ 1>mbed-os\features\filesystem\FileSystem.cpp(144,16): warning : possible problem detected in invocation of delete operator: [-Wdelete-incomplete] 1> delete f; 1> ^ 1>mbed-os\features\filesystem\FileSystem.cpp(141,11): warning : 'f' has incomplete type 1> File *f = new Managed<File>; 1> ^ 1> mbed-os\features\filesystem\FileSystem.cpp(18): 1> mbed-os\features\filesystem\FileSystem.h(39,7): note : forward declaration of 'class mbed::File' 1> class File; 1> ^~~~ 1> mbed-os\features\filesystem\FileSystem.cpp(144,16): note : neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined 1> delete f; 1> ^ 1>mbed-os\features\filesystem\FileSystem.cpp(148,13): error : cannot convert 'mbed::File*' to 'mbed::FileHandle*' in assignment 1> *file = f; 1> ^ 1> mbed-os\features\filesystem\FileSystem.cpp(18): 1> mbed-os\features\filesystem\FileSystem.h(39,7): note : class type 'mbed::File' is incomplete 1> class File; 1> ^~~~ 1> mbed-os/features/filesystem/FileSystem.cpp: In instantiation of 'class Managed<mbed::Dir>': 1> mbed-os\features\filesystem\FileSystem.cpp(153,18): note : required from here 1>mbed-os\features\filesystem\FileSystem.cpp(130,7): error : invalid use of incomplete type 'class mbed::Dir' 1> class Managed : public F { 1> ^~~~~~~ 1> mbed-os\features\filesystem\FileSystem.cpp(18): 1> mbed-os\features\filesystem\FileSystem.h(38,7): note : forward declaration of 'class mbed::Dir' 1> class Dir; 1> ^~~ 1> mbed-os/features/filesystem/FileSystem.cpp: In member function 'virtual int mbed::FileSystem::open(mbed::DirHandle**, const char*)': 1>mbed-os\features\filesystem\FileSystem.cpp(153,18): error : cannot convert 'Managed<mbed::Dir>*' to 'mbed::Dir*' in initialization 1> Dir *d = new Managed<Dir>; 1> ^~~~~~~~~~~~ 1>mbed-os\features\filesystem\FileSystem.cpp(154,16): error : invalid use of incomplete type 'class mbed::Dir' 1> int err = d->open(this, path); 1> ^~ 1> mbed-os\features\filesystem\FileSystem.cpp(18): 1> mbed-os\features\filesystem\FileSystem.h(38,7): note : forward declaration of 'class mbed::Dir' 1> class Dir; 1> ^~~ 1>mbed-os\features\filesystem\FileSystem.cpp(156,16): warning : possible problem detected in invocation of delete operator: [-Wdelete-incomplete] 1> delete d; 1> ^ 1>mbed-os\features\filesystem\FileSystem.cpp(153,10): warning : 'd' has incomplete type 1> Dir *d = new Managed<Dir>; 1> ^ 1> mbed-os\features\filesystem\FileSystem.cpp(18): 1> mbed-os\features\filesystem\FileSystem.h(38,7): note : forward declaration of 'class mbed::Dir' 1> class Dir; 1> ^~~ 1> mbed-os\features\filesystem\FileSystem.cpp(156,16): note : neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined 1> delete d; 1> ^ 1>mbed-os\features\filesystem\FileSystem.cpp(160,12): error : cannot convert 'mbed::Dir*' to 'mbed::DirHandle*' in assignment 1> *dir = d; 1> ^ 1> mbed-os\features\filesystem\FileSystem.cpp(18): 1> mbed-os\features\filesystem\FileSystem.h(38,7): note : class type 'mbed::Dir' is incomplete 1> class Dir; 1> ^~~ 1> mbed-os/features/filesystem/FileSystem.cpp: In instantiation of 'int Managed<F>::close() [with F = mbed::Dir]': 1> mbed-os\features\filesystem\FileSystem.cpp(162,1): note : required from here 1>mbed-os\features\filesystem\FileSystem.cpp(133,27): error : incomplete type 'mbed::Dir' used in nested name specifier 1> int err = F::close(); 1> ~~~~~~~~^~ 1> mbed-os/features/filesystem/FileSystem.cpp: In instantiation of 'int Managed<F>::close() [with F = mbed::File]': 1> mbed-os\features\filesystem\FileSystem.cpp(162,1): note : required from here 1>mbed-os\features\filesystem\FileSystem.cpp(133,27): error : incomplete type 'mbed::File' used in nested name specifier ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== |
||
---|---|---|
.github | ||
TESTS | ||
cmsis | ||
drivers | ||
events | ||
features | ||
hal | ||
platform | ||
rtos | ||
targets | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.pylintrc | ||
.travis.yml | ||
CONTRIBUTING.md | ||
DOXYGEN_FRONTPAGE.md | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
doxyfile_options | ||
doxygen_options.json | ||
mbed.h | ||
requirements.txt |
README.md
ARM mbed OS
mbed OS is an open-source embedded operating system designed for the "things" in the Internet of Things (IoT). mbed OS includes the features you need to develop a connected product using an ARM Cortex-M microcontroller.
mbed OS provides a platform that includes:
- Security foundations.
- Cloud management services.
- Drivers for sensors, I/O devices and connectivity.
mbed OS is modular, configurable software that you can customize it to your device and to reduce memory requirements by excluding unused software.
Release Notes
The Release Notes detail the current release and previous versions.
Continuous Integration Status
We run continuous integration on all of our branches and pull requests to verify the stability of mbed OS. The following are the Travis CI indicators for mbed OS.
Getting Started for Developers
You need mbed CLI to build mbed OS. For more details, read the mbed OS Handbook.
Getting Started for Contributors
We have a Contributing and Publishing Guide in the mbed OS Handbook.