blynkkk / blynk-library

Blynk library for IoT boards. Works with Arduino, ESP32, ESP8266, Raspberry Pi, Particle, ARM Mbed, etc.
https://blynk.io
MIT License
3.84k stars 1.39k forks source link

Version blynk-library-0.4.8 for Linux compilation error #339

Closed agcII closed 7 years ago

agcII commented 7 years ago

Raspberry PiZero W. ver 0.4.8 for linux. compilation error: make clean all target=raspberry rm main.o BlynkDebug.o ../src/utility/BlynkHandlers.o ../src/utility/BlynkTimer.o blynk rm: no se puede borrar «main.o»: No existe el fichero o el directorio rm: no se puede borrar «BlynkDebug.o»: No existe el fichero o el directorio rm: no se puede borrar «../src/utility/BlynkHandlers.o»: No existe el fichero o el directorio rm: no se puede borrar «../src/utility/BlynkTimer.o»: No existe el fichero o el directorio rm: no se puede borrar «blynk»: No existe el fichero o el directorio Makefile:64: recipe for target 'clean' failed make: [clean] Error 1 (no tiene efecto) g++ -I ../src/ -I ./ -DLINUX -c -O3 -w -DRASPBERRY main.cpp -o main.o In file included from main.cpp:13:0: ./BlynkApiWiringPi.h: In instantiation of ‘void BlynkApi::processCmd(const void, size_t) [with Proto = BlynkProtocol; size_t = unsigned int]’: ../src/Blynk/BlynkProtocol.h:349:9: required from ‘bool BlynkProtocol::processInput() [with Transp = BlynkTransportSocket]’ ../src/Blynk/BlynkProtocol.h:166:31: required from ‘bool BlynkProtocol::run(bool) [with Transp = BlynkTransportSocket]’ main.cpp:38:13: required from here ./BlynkApiWiringPi.h:177:9: error: ‘class BlynkProtocol’ has no member named ‘currentMsgId’ static_cast<Proto>(this)->sendCmd(BLYNK_CMD_RESPONSE, static_cast<Proto*>(this)->currentMsgId, NULL, BLYNK_ILLEGAL_COMMAND); ^ Makefile:70: recipe for target 'main.o' failed make: *** [main.o] Error 1

Version 0.4.7 compile OK, and work Ok for me.

vshymanskyy commented 7 years ago

The linux build is tested by Travis and works ok: https://travis-ci.org/blynkkk/blynk-library/jobs/245282405 Please remove all files and try again

shtirlic commented 7 years ago

While it builds via make all

make  all
g++ -I ../src/ -I ./ -DLINUX -c -O3 -w main.cpp -o main.o
g++ -I ../src/ -I ./ -DLINUX -c -O3 -w BlynkDebug.cpp -o BlynkDebug.o
g++ -I ../src/ -I ./ -DLINUX -c -O3 -w ../src/utility/BlynkHandlers.cpp -o ../src/utility/BlynkHandlers.o
g++ -I ../src/ -I ./ -DLINUX -c -O3 -w ../src/utility/BlynkTimer.cpp -o ../src/utility/BlynkTimer.o
g++ main.o BlynkDebug.o ../src/utility/BlynkHandlers.o ../src/utility/BlynkTimer.o -lrt -lpthread -s -o blynk

but not when make all target=raspberry

g++ -I ../src/ -I ./ -DLINUX -c -O3 -w -DRASPBERRY main.cpp -o main.o
In file included from main.cpp:13:0:
./BlynkApiWiringPi.h: In instantiation of ‘void BlynkApi<Proto>::processCmd(const void*, size_t) [with Proto = BlynkProtocol<BlynkTransportSocket>; size_t = unsigned int]’:
../src/Blynk/BlynkProtocol.h:349:9:   required from ‘bool BlynkProtocol<Transp>::processInput() [with Transp = BlynkTransportSocket]’
../src/Blynk/BlynkProtocol.h:166:31:   required from ‘bool BlynkProtocol<Transp>::run(bool) [with Transp = BlynkTransportSocket]’
main.cpp:38:13:   required from here
./BlynkApiWiringPi.h:177:9: error: ‘class BlynkProtocol<BlynkTransportSocket>’ has no member named ‘currentMsgId’
         static_cast<Proto*>(this)->sendCmd(BLYNK_CMD_RESPONSE, static_cast<Proto*>(this)->currentMsgId, NULL, BLYNK_ILLEGAL_COMMAND);
         ^
Makefile:70: recipe for target 'main.o' failed
make: *** [main.o] Error 1