thirtythreeforty / bullycpp

A Bully Bootloader PC driver program
GNU General Public License v3.0
12 stars 6 forks source link

Error building on linux #30

Closed JoseffRibble closed 8 months ago

JoseffRibble commented 8 months ago

I am running into an issue building on linux (Pop_OS 22.04)

g++ -c -pipe -O2 -std=gnu++11 -D_REENTRANT -Wall -Wextra -fPIC -DVERSION_STRING=\"v1.0.0\" -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_CORE_LIB -I. -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtSerialPort -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o MemRow.o bullycpp/MemRow.cpp
In file included from bullycpp/MemRow.h:23,
                 from bullycpp/MemRow.cpp:17:
bullycpp/ISerialPort.h:32:41: error: ‘string’ in namespace ‘std’ does not name a type
   32 |         virtual void setName(const std::string&) = 0;
      |                                         ^~~~~~
bullycpp/ISerialPort.h:21:1: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
   20 | #include <array>
  +++ |+#include <string>
   21 | #include <cstdint>
bullycpp/ISerialPort.h:43:43: error: ‘size_t’ has not been declared
   43 |         virtual std::vector<uint8_t> read(size_t) = 0;
      |                                           ^~~~~~
bullycpp/ISerialPort.h:44:37: error: ‘size_t’ has not been declared
   44 |         virtual void read(uint8_t*, size_t) = 0;
      |                                     ^~~~~~
bullycpp/ISerialPort.h:48:44: error: ‘size_t’ has not been declared
   48 |         virtual void write(const uint8_t*, size_t) = 0;
      |                                            ^~~~~~
bullycpp/ISerialPort.h:58:10: error: ‘size_t’ has not been declared
   58 | template<size_t Size>
      |          ^~~~~~
bullycpp/ISerialPort.h:59:69: error: ‘Size’ was not declared in this scope
   59 | inline ISerialPort& operator>>(ISerialPort& in, std::array<uint8_t, Size>& array)
      |                                                                     ^~~~
bullycpp/ISerialPort.h:59:73: error: template argument 2 is invalid
   59 | inline ISerialPort& operator>>(ISerialPort& in, std::array<uint8_t, Size>& array)
      |                                                                         ^
bullycpp/ISerialPort.h: In function ‘bullycpp::ISerialPort& bullycpp::operator>>(bullycpp::ISerialPort&, int&)’:
bullycpp/ISerialPort.h:61:23: error: invalid types ‘int[int]’ for array subscript
   61 |         in.read(&array[0], Size);
      |                       ^
bullycpp/ISerialPort.h:61:28: error: ‘Size’ was not declared in this scope
   61 |         in.read(&array[0], Size);
      |                            ^~~~
make: *** [Makefile:593: MemRow.o] Error 1
thirtythreeforty commented 8 months ago

Fixed. Thanks for the report. May I ask how you found this project? I haven't heard anything about it for a long time!

ImpeccablePenguin commented 8 months ago

No problem, we are using this to program a pic microcontroller in my uni electrical engineering class