Руководство от PlatformIO (я использую VS Code) для модульного тестирования кажется достаточно справедливым. Однако, когда PlatformIO пытается собрать для модульных тестов на моем локальном компьютере (среда native
), мои файлы не будут компилироваться. Ошибка гласит, что avr/io.h
не существует. Эти же файлы прекрасно компилируются для моей другой среды (платформа atmelavr
, framework arduino
).
Полагаю, это связано с использованием G CC вместо AVR-G CC (WinAVR ).
Кто-нибудь получил модульное тестирование для работы над VS Code с PlatformIO, используя собственную среду? Как установить дополнительные пути включения для определенной платформы, таким образом предоставляя G CC недостающий материал?
Я попытался добавить путь с
lib_extra_dirs = "C:\Users\MYUSER\.arduinocdt\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include"
с и без трейлинга \
, но, похоже, не работает.
(частично) Дерево каталогов
...\RGBPlay:.
│ platformio.ini
│
├───include
│ tTimer0.h
|
├───src
│ main.cpp
│ tTimer0.cpp
│
└───test
└───test_tTimer
test_tTimer_construct.cpp
platformio.ini
[env:ArduinoAsISP]
platform = atmelavr
framework = arduino
board = attiny85
upload_protocol = stk500v1
upload_flags =
-P$UPLOAD_PORT
-b$UPLOAD_SPEED
upload_port = COM3
upload_speed = 19200
[env:native]
platform = native
lib_extra_dirs = "C:\Users\MYUSER\.arduinocdt\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5\avr\include"
В последней строке я попытаюсь позволить компилятору G CC достичь io.h
(который находится в папке ...\avr\include\avr
).
src / main. cpp
1 #include <avr/io.h>
2 ...
Сообщение об ошибке
![Actual error message, the part discussed here is marked with green.](https://i.stack.imgur.com/FlEFe.png)