Go to file
0x6d61726b 4434569719 Build with external tool fails: missing includes
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 ==========
2017-08-30 17:21:53 +02:00
.github Correct a typo in the github issue template 2017-07-06 00:26:21 +02:00
TESTS RTOS: Changes to the EvenFlags API, doxy and tests 2017-08-15 13:33:32 +01:00
cmsis Add cortex-a cache file 2017-08-09 06:49:58 +01:00
drivers Fix compiler warning for deprecated function call 2017-08-14 12:10:31 +01:00
events Merge pull request #4571 from geky/events-use-rtx-event-flags 2017-06-29 11:06:42 -05:00
features Build with external tool fails: missing includes 2017-08-30 17:21:53 +02:00
hal Turn on doxygen for DEVICE_* features 2017-08-11 15:47:44 -05:00
platform Merge pull request #4954 from c1728p9/fix_isr_clear 2017-08-29 13:46:25 -05:00
rtos Merge pull request #4941 from mprse/fix_mem_pool_header_file 2017-08-24 10:18:18 -05:00
targets Merge pull request #4951 from JanneKiiskila/ublox_odin_buttons 2017-08-29 13:46:10 -05:00
tools Merge pull request #4950 from OpenNuvoton/nuvoton_usb 2017-08-29 13:45:55 -05:00
.gitattributes Added .gitattributes for automatic LF line ending conversion 2013-08-08 13:19:34 +03:00
.gitignore Ignore doxygen builds temporay object database 2017-06-05 17:32:45 -05:00
.pylintrc Add pylint configuration file 2016-08-16 11:48:45 -05:00
.travis.yml Change gcc-arm-none-eabi package name in Travis 2017-08-16 22:08:15 +03:00
CONTRIBUTING.md Update link in CONTRIBUTING.md 2017-06-09 16:38:38 -05:00
DOXYGEN_FRONTPAGE.md Very minimal text 2016-08-04 14:09:59 +01:00
Jenkinsfile Jenkinsfile: remove client app test temporarily 2017-06-01 12:15:09 +01:00
LICENSE Add Apache v2 LICENSE file 2013-08-06 12:05:04 +01:00
README.md Edit Readme and add Travis Badges 2017-04-06 11:18:59 -05:00
doxyfile_options Turn on doxygen for DEVICE_* features 2017-08-11 15:47:44 -05:00
doxygen_options.json Turn on doxygen for DEVICE_* features 2017-08-11 15:47:44 -05:00
mbed.h FileSystem: Reintegrated FileSystemLike interface 2017-06-03 13:17:37 -05:00
requirements.txt Remove pycurl dependency 2016-10-20 16:24:47 -05:00

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.

  • Master branch Master Branch CI Badge
  • Latest release Latest Tag CI Badge

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.