Adding source and include folders

I have a basic application building and flashing from the Particle Workbench where everything is in the src/ folder. However I would like to add an inc/ folder and possible some sub folders for libraries and such things. Where can I specify where the IDE should look for these files?

1 Like

Libraries should be placed in a lib folder with another subfolder per library.
If you download a library via the library manager you’ll see how the structure is supposed to be.

Makes sense for libraries. What about for organizing regular source/header files


Does anyone know what the answer to this is? It would be nice to be able to split my code up if possible.

There should be no issue in creating new source and header files under /src.

My project is currently structured as following:


Notice: If you choose to rename your Blinky.ino to Blinky.cpp you will need to include following to your new .cpp file.

#include “application.h”

When I use a cloud compile, the toolchain doesn’t seem to upload these additional files, local builds do however work. Is there a some project config where I need to specify the dependencies to upload?

Have you set it up for your current device?

Press ctrl+shift+p to bring up the command palette.

Enter: “Particle: Configure Project for Device”

This will bring you through the configurations.

I have, is there supposed to be anything special in the file? At present it just has the name defined.

@aarcov libraries is kind of a rough spot atm - apologies for the bumps :pray:

have you seen the docs on this? do they help any?

if not, can you run Particle: Audit Environment and share the non-sensitive bits here?

I have since resolved this, the solution is outlined below.

Problem: The project will only build locally when I include another local (but inside of project folder files).

The intended usage/setup:
The intended approach was to develop with them as ‘loose’ files inside src, and then move them into libs once I am satisfied with them.

File structure before resolution

For some reason, the Particle Cloud compiler or cloud uploader does not include *.hpp files only .h. The solution was to rename my *.hpp files to *.h. So for the above example my final structure is:

I also replicated this issue by putting the development includes in libs/dev/files.*

Do we know if this is a Workbench thing, or is there a flag to use *.hpp?

That’s an old CLI thing - for cloud build Workbench uses CLI.

1 Like