yoursunny / esp32cam

OV2640 camera on ESP32-CAM, Arduino library
https://esp32cam.yoursunny.dev
ISC License
473 stars 168 forks source link

Problems with resolution.cpp #18

Closed Adrianahwjsgsj closed 2 years ago

Adrianahwjsgsj commented 3 years ago

aeFRFw Im using your library with platformio but everytime i try to include the library, it returns:

.pio/libdeps/esp32cam/esp32cam/src/internal/resolution.cpp: In member function 'int esp32cam::Resolution::getWidth() const':
.pio/libdeps/esp32cam/esp32cam/src/internal/resolution.cpp:19:36: error: request for member 'width' in 'resolution[((int)((const esp32cam::Resolution*)this)->esp32cam::Resolution::m_frameSize)]', which is of non-class type 'const int [2]'
   return ::resolution[m_frameSize].width;

                                    ^
.pio/libdeps/esp32cam/esp32cam/src/internal/resolution.cpp: In member function 'int esp32cam::Resolution::getHeight() const':
.pio/libdeps/esp32cam/esp32cam/src/internal/resolution.cpp:28:36: error: request for member 'height' in 'resolution[((int)((const esp32cam::Resolution*)this)->esp32cam::Resolution::m_frameSize)]', which is 
of non-class type 'const int [2]'
   return ::resolution[m_frameSize].height;
yoursunny commented 3 years ago

You need to upgrade to ESP32 Arduino Core v1.0.5, see #17.

For PlatformIO, platform-espressif32 v3.1.0 contains v1.0.5.

blackshoals commented 2 years ago

Unfortunately I'm running into the same error on PlatformIO with platform-espressif32 v3.4.0. Rolling back to 3.1.0 doesn't seem to give me any different result.

Compiling .pio/build/esp32cam/lib4d6/esp32cam/internal/resolution.cpp.o .pio/libdeps/esp32cam/esp32cam/src/internal/resolution.cpp: In member function 'int esp32cam::Resolution::getWidth() const': .pio/libdeps/esp32cam/esp32cam/src/internal/resolution.cpp:19:36: error: request for member 'width' in 'resolution[((int)((const esp32cam::Resolution*)this)->esp32cam::Resolution::m_frameSize)]', which is of non-class type 'const int [2]' return ::resolution[m_frameSize].width; ^ .pio/libdeps/esp32cam/esp32cam/src/internal/resolution.cpp: In member function 'int esp32cam::Resolution::getHeight() const': .pio/libdeps/esp32cam/esp32cam/src/internal/resolution.cpp:28:36: error: request for member 'height' in 'resolution[((int)((const esp32cam::Resolution*)this)->esp32cam::Resolution::m_frameSize)]', which is of non-class type 'const int [2]' return ::resolution[m_frameSize].height;

yoursunny commented 2 years ago

This means somehow you still have ESP32 Arduino Core v1.0.4.

blackshoals commented 2 years ago

Thanks, the Espressif32 platform was up to date and I tried uninstall/reinstall with the same result. PlatformIO clearly makes sense to some users but I found it to be a really confusing universe compared to any other IDE I've tried. Back to the Arduino IDE.

yoursunny commented 2 years ago

This error is no longer appearing with current PlatformIO.

But new error https://github.com/yoursunny/esp32cam/issues/23 appears, sigh.