Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Development
  3. [PlatformIO] How to build a library to share across projects?

[PlatformIO] How to build a library to share across projects?

Scheduled Pinned Locked Moved Development
1 Posts 1 Posters 855 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • sbrinkmannS Offline
    sbrinkmannS Offline
    sbrinkmann
    wrote on last edited by
    #1

    A few weeks ago I switched from the Arduino IDE to PlatformIO. Since then developing of MySensors nodes becomes as convenient as it is developing Java or NodeJS applications. Then I tried to build a base library to share common functionality across my different projects. To archive this I've build a PlatformIO library project and added MySensors as dependency, since I want to add or wrap existing MySensors functionality. When I try to build one of my depending projects, LDF resolves the dependency tree as following:

    Library Dependency Graph
    |-- <BaseLibrary>
    |   |-- <MySensors> v2.1.0
    |   |   |-- <SPI> v1.0
    |   |   |-- <Wire> v1.0
    |   |   |-- <EEPROM> v1.0
    |-- <SPI> v1.0
    |-- <MySensors> v2.1.0
    |   |-- <SPI> v1.0
    |   |-- <Wire> v1.0
    |   |-- <EEPROM> v1.0
    |-- <EEPROM> v1.0
    |-- <ESP8266WiFi> v1.0
    

    But when I add #include <MySensors.h> to my BaseLibrary.cpp and build the depending project, the linker shows for each MySensors method the error ... multiple definition .... From my understandung the following precompiler statement

    #ifndef MySensors_h
    #define MySensors_h
    

    should avoid that this happens. Does anyone know how to build a multi project library with a MySensors dependency? Is this possible with the current MySensors design?

    1 Reply Last reply
    2
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    12

    Online

    11.7k

    Users

    11.2k

    Topics

    113.1k

    Posts


    Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • MySensors
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular