Библиотека Ethernet2 v.1.0.4 ошибка компиляции
- Войдите на сайт для отправки комментариев
Втр, 28/01/2020 - 16:36
Добрый день друзья.
Сегодня обновил библиотеку до версии 1.0.4 и получил ошибки компиляции. НО что самое странное скейтч всеравно заливается в Ардуину 2560. Шилд W5500.
In file included from C:\Users\aleks\Documents\Arduino\libraries\Ethernet2\src\Dns.cpp:7:0: C:\Users\aleks\Documents\Arduino\libraries\Ethernet2\src\Dns.cpp: In member function 'uint16_t DNSClient::BuildRequest(const char*)': C:\Users\aleks\Documents\Arduino\libraries\Ethernet2\src\utility/util.h:4:24: warning: result of '(256 << 8)' requires 18 bits to represent, but 'int' only has 16 bits [-Wshift-overflow=] #define htons(x) ( ((x)<< 8 & 0xFF00) | \ ~~~^~~~ C:\Users\aleks\Documents\Arduino\libraries\Ethernet2\src\Dns.cpp:202:21: note: in expansion of macro 'htons' twoByteBuffer = htons(QUERY_FLAG | OPCODE_STANDARD_QUERY | RECURSION_DESIRED_FLAG); ^~~~~
Если откатиться до версии 1.0.3 то без ошибок компилится.
Может кто в курсе уже что там так серьезно поменялось?
Компилятор предупреждение выдает, а не ошибку, так что не удивительно, что скетч зашивается. Даже работать будет, ведь ошибки тут действительно нет, хотя htons действительно странный.