Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

platformio ci can't find headers #3260

Closed
XNinety9 opened this issue Nov 10, 2019 · 2 comments
Closed

platformio ci can't find headers #3260

XNinety9 opened this issue Nov 10, 2019 · 2 comments

Comments

@XNinety9
Copy link

XNinety9 commented Nov 10, 2019

Hi.

I've ran into troubles on a CI-enabled project. When I add a library in ./lib and use platformio ci, I get "header not found errors". I used "calculator" unit-tests example to build a CI/CD for Gitlab.

Project structure:

├── README.md
├── doxygen
│   └── doxyfile
├── include
│   └── README
├── lib
│   ├── README
│   └── calculator
│       └── src
│           ├── calculator.cpp
│           └── calculator.h
├── platformio.ini
├── src
│   └── main.cpp
└── test
    ├── README
    ├── test_common
    │   └── test_calculator.cpp
    ├── test_desktop
    │   └── test_calculator.cpp
    └── test_embedded
        └── test_calculator.cpp

The command line and the error:

platformio ci --board=uno --lib='.' src/main.cpp                                                                                            0.02      02:30    11.10.19 
The next files/directories have been created in /private/var/folders/cx/wtyd9g891rg64vgfd8d2sy3h0000gn/T/tmp75fpzqm6
include - Put project header files here
lib - Put here project specific (private) libraries
src - Put project source files here
platformio.ini - Project Configuration File

Project has been successfully initialized! Useful commands:
`pio run` - process/build project from the current directory
`pio run --target upload` or `pio run -t upload` - upload firmware to a target
`pio run --target clean` - clean project (remove compiled files)
`pio run --help` - additional information
Processing uno (platform: atmelavr; board: uno; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR 1.15.0 > Arduino Uno
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 31.50KB Flash
PACKAGES: toolchain-atmelavr 1.50400.190710 (5.4.0), framework-arduinoavr 4.1.2
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 6 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/uno/src/main.cpp.o
Archiving .pio/build/uno/libFrameworkArduinoVariant.a
Compiling .pio/build/uno/FrameworkArduino/CDC.cpp.o
Compiling .pio/build/uno/FrameworkArduino/HardwareSerial.cpp.o
Indexing .pio/build/uno/libFrameworkArduinoVariant.a
Compiling .pio/build/uno/FrameworkArduino/HardwareSerial0.cpp.o
src/main.cpp:2:24: fatal error: calculator.h: No such file or directory

********************************************************************
* Looking for calculator.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:calculator.h"
* Web  > https://platformio.org/lib/search?query=header:calculator.h
*
********************************************************************

compilation terminated.
Compiling .pio/build/uno/FrameworkArduino/HardwareSerial1.cpp.o
Compiling .pio/build/uno/FrameworkArduino/HardwareSerial2.cpp.o
*** [.pio/build/uno/src/main.cpp.o] Error 1
Compiling .pio/build/uno/FrameworkArduino/HardwareSerial3.cpp.o
============================================================================ [FAILED] Took 0.63 seconds ============================================================================

The main.cpp source:

#include <Arduino.h>
#include <calculator.h>

Calculator calc;

void blink_once(unsigned int delay_ms)
{
    digitalWrite(LED_BUILTIN, HIGH);
    delay(delay_ms);
    digitalWrite(LED_BUILTIN, LOW);
    delay(delay_ms);
}


void setup() {
    Serial.begin(9600);
    Serial.println("Program started!");
    pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
    Serial.print("Addition: ");
    Serial.println(calc.add(25, 17));
    blink_once(200);
    Serial.print("Subtraction: ");
    Serial.println(calc.sub(10, 3));
    blink_once(200);
    Serial.print("Multiplication: ");
    Serial.println(calc.mul(3, 3));
    blink_once(200);
    Serial.print("Division: ");
    Serial.println(calc.div(100, 3));
    blink_once(200);
}

Am I missing something?

@ivankravets
Copy link
Member

platformio ci --board=uno --lib='.' src/main.cpp

Should it be platformio ci --board=uno --lib=lib/calculator' src/main.cpp?

See http://docs.platformio.org/en/latest/userguide/cmd_ci.html

I recommend to configure project manually and run pio run directly.

@ivankravets
Copy link
Member

Please reopen if you still need help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants