- windows.h no such file or directory (compile c code on linux) [closed]
- 1 Answer 1
- Fatal error windows h no such file or directory compilation terminated
- Viceroy
- Виталий550
- b_mixail
- Александр Симонов
- b_mixail
- VIt-Wap
- Александр Симонов
- VIt-Wap
- lylyk
- Александр Симонов
- Александр Симонов
- be3um4wka
- Александр Симонов
- be3um4wka
- cg_spooler
- Вложения
- pavel lolkek
- johnny0007
- pavel lolkek
- Максим3704
- Duzer
- be3um4wka
- Wan-Derer
- sonykkk
- Fatal error windows h no such file or directory compilation terminated
- ZuBaKa
- Alex_w0lf
- bort707
- body747
- Crazy
- body747
- Crazy
- body747
- Crazy
- Александр Симонов
- dfv74
- Александр Симонов
- dfv74
- Александр Симонов
- anton_b
- Александр Симонов
- lgw250120
- Александр Симонов
- Arhat109
- Старик Похабыч
- byters
- Александр Симонов
- JUKKIO
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.
Ошибка компиляции.
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.
Александр Симонов
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
curEffect = effectCounter;
В чём может быть проблема?
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.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»