Forum: Mikrocontroller und Digitale Elektronik ESP32 build error include (VS Code und esp-idf)


von Daniel S. (d_s)


Lesenswert?

Hallo zusammen,

ich komme seit einigen Tagen hier nicht weiter und verstehe leider 
nicht, wie ich in VS Code den Pfad zu externen include, bzw. Componenten 
richtig angeben kann. Alles was ich bislang versucht habe, resultiert in 
folgendem Fehler:
1
C:/Users/Daniel/Desktop/ESP32/Project_Example/uart_async_rxtxtasks/main/uart_async_rxtxtasks_main.c:21:10: fatal error: tftspi.h: No such file or directory   
2
 #include "tftspi.h"
3
          ^~~~~~~~~~
4
compilation terminated.
5
ninja: build stopped: subcommand failed.

Habe ein Projekt aus den Project-Examples als Vorlage genommen 
(uart_async_rxtxtask) und will es um externe Libraries/ Header 
erweitern, in diesem Falle zur Ansteuerung eines Displays.
 Die Libraries habe ich aus dem TFT Beispielprojekt in das aktuelle 
uart_async_rxtxtask Projekt kopiert. Sie liegen im Projekt Ordner unter 
/Components/TFT/...
Habe schon diverseste Dinge probiert.
- habe die TFT libs zusätzlich unter der esp Installation kopiert: 
C:\Users\Daniel\esp\esp-idf\components\tft.
- habe den Include Pfad in c_cpp_properties.json erweitert:
1
            "includePath": [
2
                "${workspaceFolder}/**",
3
                "${workspaceFolder}/components/**",
4
  C:\\Users\\Daniel\\Desktop\\ESP32\\Project_Example\\uart_async_rxtxtasks\\components\\**",
5
                "C:\\Users\\Daniel\\Desktop\\ESP32\\Project_Example\\**",
6
                "${config:idf.espIdfPath}/components/**",
7
                "${config:idf.espIdfPathWin}/components/**",
8
                "${default}"
9
            ],
- ...

Liegt es an der CMakeLists.txt?
Die Umgebung ist VS Code mit der esp-idf, ninja, cmake...

Kann mir jemand helfen, wo der Fehler liegt?
Kann das Projekt nicht im ganzen anhängen, ist viel zu groß.

VG
Daniel

von J. S. (jojos)


Lesenswert?

Daniel S. schrieb:
> habe den Include Pfad in c_cpp_properties.json erweitert:

das ist definitiv falsch, die ist für Intellisense zuständig. Wenn die 
cmake-tools verwendet werden, dann holt cmake die Einstellungen aus 
compile_commands.json aus dem build Verzeichnis. Daher sollte man die 
Einstellung dort nicht anpacken.

Bei der idf werden die Einstellungen afaik mit register_component in 
CMakeLists.txt hinzugefügt. Ist gut dokumentiert und es gibt viele 
Beispiele, habe gerade keine Lust es rauszusuchen.

ok, hier muss man sich durcharbeiten:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.