Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. sbrinkmann
    3. Best
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Best posts made by sbrinkmann

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

      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?

      posted in Development
      sbrinkmann
      sbrinkmann