Fatal error windows h no such file or directory compilation terminated

windows.h no such file or directory (compile c code on linux) [closed]

Want to improve this question? Update the question so it’s on-topic for Stack Overflow.

Closed 4 years ago .

I have a c program that includes a header . This program works fine on windows but on linux when I compile the code with:

main.c:2:10: fatal error windows.h: No such file or directory compilation terminated

Do you have any idea why this error happens and how to fix?

1 Answer 1

The problem is that your code is using the windows.h header file to get function declarations for Windows-only functions. This file does not normally exist on Linux, because its installations of toolchains (such as GCC) will (by default) only include the files needed to compile for Linux.

You have a few options:

As Ed Heal suggested, port the code to Linux. That means you would remove the inclusion of windows.h, and replace all the function calls that used the Windows API with their Linux equivalents. This will make your source code only work on Linux, unless you can refactor the OS-dependent calls into platform-agnostic code. A word of warning: unless the program you’re working with is trivial, this is not an easy task. There’s no guarantee that every Windows API function has a Linux equivalent.

Install a Windows toolchain for your build system, which should include windows.h, and cross-compile your code. This will result in a binary that won’t work on Linux, but will work on Windows.

A middle ground between those two options would be to actually do both, and use conditional compilation to allow you to selectively compile for one target or another.

Fatal error windows h no such file or directory compilation terminated

АХТУНГ!
Вставка от модератора:
Подробное руководство по загрузке прошивки в Ардуино от Алекса Гайвера:

Прежде чем строчить сообщения, внимательно ознакомьтесь.

Здраствуйте, у меня возникла ошибка с компиляцией скетча, всё сделал по инструкции, несколько раз всё перепроверил, но всё равно возникает ошибка
Arduino: 1.6.4 (Windows 7), Плата»Arduino Nano, ATmega328″

In file included from C:\Program Files\Arduino\libraries\LCD_1602_RUS-master/LCD_1602_RUS.h:1:0,
from money_box_counter.ino:35:
C:\Program Files\Arduino\libraries\LCD_1602_RUS-master/LiquidCrystal_I2C.h:7:18: fatal error: Wire.h: No such file or directory
#include
^
compilation terminated.
Ошибка компиляции.

Читайте также:  Unetbootin kali linux установка

Viceroy

Виталий550

b_mixail

Нужна помощь, скетч «CUBE_Gyver.ino» грузится на ура, а вот «CUBE_Gyver_v2.ino». Библиотека GyverButton взята из архива с проектом.

G:\LEDcube-master\CUBE_Gyver_v2\CUBE_Gyver_v2.ino: In function ‘void setup()’:

CUBE_Gyver_v2:132:9: error: ‘class GButton’ has no member named ‘setStepTimeout’

butt1.setStepTimeout(100); // настрйока интервала инкремента (по умолчанию 800 мс)

CUBE_Gyver_v2:133:9: error: ‘class GButton’ has no member named ‘setStepTimeout’

butt2.setStepTimeout(100); // настрйока интервала инкремента (по умолчанию 800 мс)

G:\LEDcube-master\CUBE_Gyver_v2\CUBE_Gyver_v2.ino: In function ‘void loop()’:

CUBE_Gyver_v2:144:13: error: ‘class GButton’ has no member named ‘isClick’

CUBE_Gyver_v2:149:13: error: ‘class GButton’ has no member named ‘isClick’

CUBE_Gyver_v2:155:13: error: ‘class GButton’ has no member named ‘isStep’

CUBE_Gyver_v2:158:13: error: ‘class GButton’ has no member named ‘isStep’

Используем библиотеку SPI версии 1.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI
Используем библиотеку GyverButton в папке: C:\Program Files (x86)\Arduino\libraries\GyverButton (legacy)
Используем библиотеку GyverHacks в папке: C:\Program Files (x86)\Arduino\libraries\GyverHacks (legacy)
Используем библиотеку GyverTimer в папке: C:\Program Files (x86)\Arduino\libraries\GyverTimer (legacy)
Используем библиотеку EEPROM версии 2.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM
exit status 1
‘class GButton’ has no member named ‘setStepTimeout’

G:\LEDcube-master\CUBE_Gyver\CUBE_Gyver.ino: In function ‘void setup()’:

CUBE_Gyver:82:9: error: ‘class GButton’ has no member named ‘setIncrStep’

butt1.setIncrStep(5); // настройка инкремента, может быть отрицательным (по умолчанию 1)

CUBE_Gyver:83:9: error: ‘class GButton’ has no member named ‘setIncrTimeout’

butt1.setIncrTimeout(100); // настрйока интервала инкремента (по умолчанию 800 мс)

CUBE_Gyver:84:9: error: ‘class GButton’ has no member named ‘setIncrStep’

butt2.setIncrStep(-5); // настройка инкремента, может быть отрицательным (по умолчанию 1)

CUBE_Gyver:85:9: error: ‘class GButton’ has no member named ‘setIncrTimeout’

butt2.setIncrTimeout(100); // настрйока интервала инкремента (по умолчанию 800 мс)

G:\LEDcube-master\CUBE_Gyver\CUBE_Gyver.ino: In function ‘void loop()’:

CUBE_Gyver:106:13: error: ‘class GButton’ has no member named ‘isIncr’

CUBE_Gyver:107:23: error: ‘class GButton’ has no member named ‘getIncr’

modeTimer = butt1.getIncr(modeTimer); // увеличивать/уменьшать переменную value с шагом и интервалом

CUBE_Gyver:109:13: error: ‘class GButton’ has no member named ‘isIncr’

CUBE_Gyver:110:23: error: ‘class GButton’ has no member named ‘getIncr’

modeTimer = butt2.getIncr(modeTimer); // увеличивать/уменьшать переменную value с шагом и интервалом

Используем библиотеку SPI версии 1.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI
Используем библиотеку GyverButton в папке: C:\Program Files (x86)\Arduino\libraries\GyverButton (legacy)
exit status 1
‘class GButton’ has no member named ‘setIncrStep’

C:\Program Files (x86)\Arduino\libraries\GyverHacks\GyverHacks.cpp:326:1: error: prototype for ‘GTimer::GTimer(uint16_t)’ does not match any in class ‘GTimer’

In file included from C:\Program Files (x86)\Arduino\libraries\GyverHacks\GyverHacks.cpp:1:0:

C:\Program Files (x86)\Arduino\libraries\GyverHacks\GyverHacks.h:99:7: error: candidates are: constexpr GTimer::GTimer(GTimer&&)

C:\Program Files (x86)\Arduino\libraries\GyverHacks\GyverHacks.h:99:7: error: constexpr GTimer::GTimer(const GTimer&)

C:\Program Files (x86)\Arduino\libraries\GyverHacks\GyverHacks.h:103:2: error: GTimer::GTimer(uint32_t)

GTimer(uint32_t); // объявление таймера с указанием интервала

C:\Program Files (x86)\Arduino\libraries\GyverHacks\GyverHacks.cpp:324:1: error: GTimer::GTimer()

C:\Program Files (x86)\Arduino\libraries\GyverHacks\GyverHacks.cpp:331:6: error: prototype for ‘void GTimer::setInterval(uint16_t)’ does not match any in class ‘GTimer’

void GTimer::setInterval(uint16_t interval) <

In file included from C:\Program Files (x86)\Arduino\libraries\GyverHacks\GyverHacks.cpp:1:0:

C:\Program Files (x86)\Arduino\libraries\GyverHacks\GyverHacks.h:104:7: error: candidate is: void GTimer::setInterval(uint32_t)

void setInterval(uint32_t); // установка интервала

Используем библиотеку SPI версии 1.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI
Используем библиотеку GyverButton в папке: C:\Program Files (x86)\Arduino\libraries\GyverButton (legacy)
Используем библиотеку GyverHacks в папке: C:\Program Files (x86)\Arduino\libraries\GyverHacks (legacy)
Используем библиотеку GyverTimer в папке: C:\Program Files (x86)\Arduino\libraries\GyverTimer (legacy)
Используем библиотеку EEPROM версии 2.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM
exit status 1
Ошибка компиляции для платы Arduino Nano.

Читайте также:  Intel core i7 2600 windows 10

Александр Симонов

b_mixail

Взял все три библиотеки оттуда (GyverButton, GyverHacks, GyverTimer).

p.s. а для CUBE_Gyver.ino запихать в одноименную папку .h и .cpp файл библиотеки GyverButton из архива со скетчами (со свежей версией скетч в ошибке).

VIt-Wap

Доброго дня. ничего не могу сделать. При компиляции выдает ошибку
exit status 1
‘GButton’ does not name a type
и подсвечена 38 строчка скетча.
GButton touch(BTN_PIN, LOW_PULL, NORM_OPEN);
Все делал по инструкции.
Может кто-то сталкивался с такой траблой?
и 70 строка
GButton touch(BTN_PIN, LOW_PULL, NORM_OPEN);

ошибка
exit status 1
‘LOW_PULL’ was not declared in this scope

Александр Симонов

VIt-Wap

lylyk

Создала проект, сейчас компилятор выводит ошибку. Помогите пожалуйста с этой проблемой, я новенькая в этом деле..

Вот:
In function ‘global constructors keyed to 65535_0_sketch_mar14a.ino.cpp.o’:

lto1.exe: internal compiler error: Segmentation fault

Please submit a full bug report,

with preprocessed source if appropriate.

See for instructions.

lto-wrapper.exe: fatal error: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.19.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status

c:/program files/windowsapps/arduinollc.arduinoide_1.8.19.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.

Александр Симонов

Александр Симонов

be3um4wka

Александр Симонов

be3um4wka

cg_spooler

Столкнулся с проблемой при компиляции версии 1.3 в плату (лог во вложении)
Версии 1.1 и 1.2 заливаются без проблем.
Версия софта 1.8.9
Плата Arduino Nano (из ссылки под видео).
В настройках выбираю чип: ATMega328 Старый загрузчик (пробовал и все остальные), плату: Arduino Nano
Пробовал отрубать библиотеки стандартные и брать только из папки с проектом (кроме FastLED-stm32patch — её в версию 1.3 не включено)

В версии 1.3 ошибка fillAll что конкретно правилось? по поиску исправлений не нашёл.

Вложения

pavel lolkek

Доброго времяни суток . Можете помочь не могу загрузить прошивку вылазиет такая ошибка :
Arduino: 1.6.5 (Windows 7), Плата»Arduino Nano, ATmega328″

colorMusic_v2.9.ino:195:50: fatal error: FHT.h: No such file or directory
compilation terminated.
Ошибка компиляции.

johnny0007

pavel lolkek

прочитал . выбираю архив и выходит это :

Выбранная папка/zip файл не содержит корректных библиотек
Неверная библиотека найдена в C:\Users\user\Documents\Arduino\libraries\ColorMusic-master: нет заголовочных файлов (.h), найденных в C:\Users\user\Documents\Arduino\libraries\ColorMusic-master

Максим3704

Duzer

@Максим3704, либо не та библиотека для датчика температуры. Либо не там лежит. У меня лежит в папке /мои документы /arduino ide /libraries

Библиотеки отличаются для одних и тех же датчиков. Сам перебрал кучу, пока нашёл нужную

be3um4wka

Wan-Derer

sonykkk

Arduino: 1.6.5 (Windows 7), Плата»Arduino Nano, ATmega328″

Fatal error windows h no such file or directory compilation terminated

ZuBaKa

Alex_w0lf

При компиляции выдаёт ошибку (https://github.com/AlexGyver/LEDstairs):

/root/arduino/LEDstairs-master/firmware/LEDstairs_v1.0/LEDstairs_v1.0.ino:184:25: warning: invalid conversion from ‘byte ‘ to ‘ ‘ [-fpermissive]
curEffect = effectCounter;

Читайте также:  Частично не работает клавиатура windows 10

В чём может быть проблема?

bort707

body747

при компиляции любого скетча (перепробывал несколько )

Arduino: 1.8.13 (Windows 10), Плата:»Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)»

ArdBir_2_6_70b10:103:10: fatal error: Pcb_Brauduin original.h: No such file or directory

#include «Pcb_Brauduin original.h»

Pcb_Brauduin original.h: No such file or directory

подскажите пожалуйста в чем проблема ?

Crazy

при компиляции любого скетча (перепробывал несколько )

Arduino: 1.8.13 (Windows 10), Плата:»Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)»

ArdBir_2_6_70b10:103:10: fatal error: Pcb_Brauduin original.h: No such file or directory

#include «Pcb_Brauduin original.h»

Pcb_Brauduin original.h: No such file or directory

body747

Crazy

body747

на разных сайтах пишут ,что все работает(мне один раз удалось залить скетч, но появились обновленные ,начал ставить и ошибки)

Crazy

Александр Симонов

при компиляции любого скетча (перепробывал несколько )

Arduino: 1.8.13 (Windows 10), Плата:»Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)»

ArdBir_2_6_70b10:103:10: fatal error: Pcb_Brauduin original.h: No such file or directory

#include «Pcb_Brauduin original.h»

Pcb_Brauduin original.h: No such file or directory

подскажите пожалуйста в чем проблема ?

dfv74

Александр Симонов

dfv74

Александр Симонов

anton_b

C:\Program Files (x86)\Arduino\libraries\LCD_1602_RUS-master\LCD_1602_RUS.cpp: In member function ‘void LCD_1602_RUS: rint(const wchar_t*)’:
C:\Program Files (x86)\Arduino\libraries\LCD_1602_RUS-master\LCD_1602_RUS.cpp:62:23: warning: NULL used in arithmetic [-Wpointer-arith]
while(_str[size] != NULL)
^

Прошивка после этого загружается, но на дисплейне не выводится текст, только подсвечивается. Вся схема запаяна правильно

Александр Симонов

C:\Program Files (x86)\Arduino\libraries\LCD_1602_RUS-master\LCD_1602_RUS.cpp: In member function ‘void LCD_1602_RUS: rint(const wchar_t*)’:
C:\Program Files (x86)\Arduino\libraries\LCD_1602_RUS-master\LCD_1602_RUS.cpp:62:23: warning: NULL used in arithmetic [-Wpointer-arith]
while(_str[size] != NULL)
^

Прошивка после этого загружается, но на дисплейне не выводится текст, только подсвечивается. Вся схема запаяна правильно

lgw250120

Александр Симонов

Arhat109

Старик Похабыч

byters

Arduino ProMicro, IDE 1.8.13

Александр Симонов

Arduino ProMicro, IDE 1.8.13

JUKKIO

Доброго времени суток. Собрал проект гирлянда, залил программу все отлично работает от одной кнопки управляется. Решил подключить IR приемник для управления от пульта, прописал в скетче единичку и все ошибка компиляции. ничего не могу сделать.
При компиляции выдает ошибку

collect2.exe: error: ld returned 1 exit status

exit status 1
Ошибка компиляции для платы Arduino Nano328

Arduino: 1.8.13 (Windows 7), Плата:»Arduino Nano, ATmega328P (Old Bootloader)»
In file included from C:\Program Files\Arduino\libraries\FastLED-3.2.9/bitswap.h:4:0,
from E:\Копия файлов С\ChristmasLights-master\ChristmasLights-master\firmware\notamesh4_gyver_nau\notamesh4_gyver_nau.ino:1:
C:\Program Files\Arduino\libraries\FastLED-3.2.9/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.009
# pragma message «FastLED version 3.002.009»

1\AppData\Local\Temp\ccWehXug.ltrans0.ltrans.o: In function `global constructors keyed to 65535_0_notamesh4_gyver_nau.ino.cpp.o.3883′:
.text.startup+0x38): undefined reference to `IRrecv::IRrecv(int)’
C:\Users\A4F7

1\AppData\Local\Temp\ccWehXug.ltrans0.ltrans.o: In function `setup’:
E:\Копия файлов С\ChristmasLights-master\ChristmasLights-master\firmware\notamesh4_gyver_nau/1main.ino:192: undefined reference to `IRrecv::enableIRIn()’

1\AppData\Local\Temp\ccWehXug.ltrans0.ltrans.o: In function `loop’:
E:\Копия файлов С\ChristmasLights-master\ChristmasLights-master\firmware\notamesh4_gyver_nau/1main.ino:490: undefined reference to `IRrecv::isIdle()’
E:\Копия файлов С\ChristmasLights-master\ChristmasLights-master\firmware\notamesh4_gyver_nau/1main.ino:492: undefined reference to `IRrecv::decode(decode_results*)’
E:\Копия файлов С\ChristmasLights-master\ChristmasLights-master\firmware\notamesh4_gyver_nau/1main.ino:506: undefined reference to `IRrecv::resume()’

collect2.exe: error: ld returned 1 exit status

Ошибка компиляции для платы Arduino Nano.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»

Оцените статью