Coder Social home page Coder Social logo

ahmad138 / satrot Goto Github PK

View Code? Open in Web Editor NEW
7.0 6.0 3.0 213.78 MB

A modular Satellite/Celestrial body rotator and tracker to communicate with satellites or simply increasing the efficiency of solar panels

License: MIT License

QMake 0.70% C++ 41.82% Makefile 46.16% HTML 1.52% JavaScript 3.59% CSS 4.26% TeX 1.94%
raspberry-pi satellites cpp satellite-rotator qt5 solar-panel telescope

satrot's People

Contributors

ahmad138 avatar sonofsalah-2425778 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

satrot's Issues

Issue compiling on Ubuntu

Describe the bug
after cloning, i tried compiling using qmake but it kept failing.

To Reproduce
Steps to reproduce the behavior:

  1. clone the repo and cd into the Software/SatRot-GUI
  2. mkdir build && cd build
  3. qmake ..
  4. make

Expected behavior


/home/ahmad/anaconda3/include/qt/QtWidgets/qstyleoption.h:654:5: note: because ‘QStyleOptionSizeGrip’ has user-provided ‘QStyleOptionSizeGrip::QStyleOptionSizeGrip(const QStyleOptionSizeGrip&)’
  654 |     QStyleOptionSizeGrip(const QStyleOptionSizeGrip &other) : QStyleOptionComplex(Version, Type) { *this = other; }
      |     ^~~~~~~~~~~~~~~~~~~~
/home/ahmad/anaconda3/include/qt/QtWidgets/qstyleoption.h: In member function ‘QStyleOptionSizeGrip& QStyleOptionSizeGrip::operator=(const QStyleOptionSizeGrip&)’:
/home/ahmad/anaconda3/include/qt/QtWidgets/qstyleoption.h:645:24: warning: implicitly-declared ‘QStyleOptionComplex& QStyleOptionComplex::operator=(const QStyleOptionComplex&)’ is deprecated [-Wdeprecated-copy]
  645 | class Q_WIDGETS_EXPORT QStyleOptionSizeGrip : public QStyleOptionComplex
      |                        ^~~~~~~~~~~~~~~~~~~~
/home/ahmad/anaconda3/include/qt/QtWidgets/qstyleoption.h:510:5: note: because ‘QStyleOptionComplex’ has user-provided ‘QStyleOptionComplex::QStyleOptionComplex(const QStyleOptionComplex&)’
  510 |     QStyleOptionComplex(const QStyleOptionComplex &other) : QStyleOption(Version, Type) { *this = other; }
      |     ^~~~~~~~~~~~~~~~~~~
/home/ahmad/anaconda3/include/qt/QtWidgets/qstyleoption.h: In copy constructor ‘QStyleOptionSizeGrip::QStyleOptionSizeGrip(const QStyleOptionSizeGrip&)’:
/home/ahmad/anaconda3/include/qt/QtWidgets/qstyleoption.h:654:108: note: synthesized method ‘QStyleOptionSizeGrip& QStyleOptionSizeGrip::operator=(const QStyleOptionSizeGrip&)’ first required here
  654 | eOptionSizeGrip &other) : QStyleOptionComplex(Version, Type) { *this = other; }
      |                                                                        ^~~~~

/home/ahmad/anaconda3/include/qt/QtWidgets/qstyleoption.h: In copy constructor ‘QStyleOptionGraphicsItem::QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem&)’:
/home/ahmad/anaconda3/include/qt/QtWidgets/qstyleoption.h:670:109: warning: implicitly-declared ‘QStyleOptionGraphicsItem& QStyleOptionGraphicsItem::operator=(const QStyleOptionGraphicsItem&)’ is deprecated [-Wdeprecated-copy]
  670 | tyleOptionGraphicsItem &other) : QStyleOption(Version, Type) { *this = other; }
      |                                                                        ^~~~~

/home/ahmad/anaconda3/include/qt/QtWidgets/qstyleoption.h:670:5: note: because ‘QStyleOptionGraphicsItem’ has user-provided ‘QStyleOptionGraphicsItem::QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem&)’
  670 |     QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem &other) : QStyleOption(Version, Type) { *this = other; }
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
../src/mainwindow.cpp: In lambda function:
../src/mainwindow.cpp:157:39: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [5]’)
  157 |         QString r = o.value("company")["name"].toString();
      |                                       ^
../src/mainwindow.cpp: In lambda function:
../src/mainwindow.cpp:164:39: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [5]’)
  164 |         QString r = o.value("company")["name"].toString();
      |                                       ^
../src/mainwindow.cpp: In lambda function:
../src/mainwindow.cpp:413:52: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [6]’)
  413 |         QString a = QString::number(o.value("info")["satid"].toInt());
      |                                                    ^
../src/mainwindow.cpp:414:36: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [8]’)
  414 |         QString b = o.value("info")["satname"].toString();
      |                                    ^
../src/mainwindow.cpp:416:57: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  416 |         QString c = QString::number(o.value("positions")[0]["satlatitude"].toDouble());
      |                                                         ^
../src/mainwindow.cpp:417:57: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  417 |         QString d = QString::number(o.value("positions")[0]["satlongitude"].toDouble());
      |                                                         ^
../src/mainwindow.cpp:418:57: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  418 |         QString e = QString::number(o.value("positions")[0]["sataltitude"].toDouble());
      |                                                         ^
../src/mainwindow.cpp:419:57: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  419 |         QString f = QString::number(o.value("positions")[0]["azimuth"].toDouble());
      |                                                         ^
../src/mainwindow.cpp:420:57: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  420 |         QString g = QString::number(o.value("positions")[0]["elevation"].toDouble());
      |                                                         ^
../src/mainwindow.cpp:421:57: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  421 |         QString h = QString::number(o.value("positions")[0]["ra"].toDouble());
      |                                                         ^
../src/mainwindow.cpp:422:57: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  422 |         QString i = QString::number(o.value("positions")[0]["dec"].toDouble());
      |                                                         ^
../src/mainwindow.cpp:423:57: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  423 |         QString j = QString::number(o.value("positions")[0]["timestamp"].toInt());
      |                                                         ^
../src/mainwindow.cpp: In lambda function:
../src/mainwindow.cpp:478:56: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [6]’)
  478 |             QString a = QString::number(o.value("info")["satid"].toInt());
      |                                                        ^
../src/mainwindow.cpp:479:40: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [8]’)
  479 |             QString b = o.value("info")["satname"].toString();
      |                                        ^
../src/mainwindow.cpp:480:56: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [12]’)
  480 |             QString c = QString::number(o.value("info")["passescount"].toInt());
      |                                                        ^
../src/mainwindow.cpp:485:55: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  485 |                 myDateTime.setTime_t(o.value("passes")[x]["startUTC"].toInt());
      |                                                       ^
../src/mainwindow.cpp:487:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  487 |                 QString e = QString::number(o.value("passes")[x]["startAz"].toDouble()) + "°";
      |                                                              ^
../src/mainwindow.cpp:488:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  488 |                 QString f = QString::number(o.value("passes")[x]["startEl"].toDouble()) + "°";
      |                                                              ^
../src/mainwindow.cpp:489:55: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  489 |                 myDateTime.setTime_t(o.value("passes")[x]["maxUTC"].toInt());
      |                                                       ^
../src/mainwindow.cpp:491:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  491 |                 QString h = QString::number(o.value("passes")[x]["maxAz"].toDouble()) + "°";
      |                                                              ^
../src/mainwindow.cpp:492:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  492 |                 QString i = QString::number(o.value("passes")[x]["maxEl"].toDouble()) + "°";
      |                                                              ^
../src/mainwindow.cpp:493:55: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  493 |                 myDateTime.setTime_t(o.value("passes")[x]["endUTC"].toInt());
      |                                                       ^
../src/mainwindow.cpp:495:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  495 |                 QString k = QString::number(o.value("passes")[x]["endAz"].toDouble()) + "°";
      |                                                              ^
../src/mainwindow.cpp:496:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  496 |                 QString l = QString::number(o.value("passes")[x]["endEl"].toDouble()) + "°";
      |                                                              ^
../src/mainwindow.cpp:497:46: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  497 |                 QString m = o.value("passes")[x]["startAzCompass"].toString();
      |                                              ^
../src/mainwindow.cpp:498:46: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  498 |                 QString n = o.value("passes")[x]["maxAzCompass"].toString();
      |                                              ^
../src/mainwindow.cpp:499:46: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  499 |                 QString p = o.value("passes")[x]["endAzCompass"].toString();
      |                                              ^
../src/mainwindow.cpp:501:38: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  501 |                 if (o.value("passes")[x]["mag"].toDouble() == 100000)
      |                                      ^
../src/mainwindow.cpp:507:60: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  507 |                     mag = QString::number(o.value("passes")[x]["mag"].toDouble());
      |                                                            ^
../src/mainwindow.cpp:510:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  510 |                 QString r = QString::number(o.value("passes")[x]["duration"].toInt());
      |                                                              ^
../src/mainwindow.cpp: In lambda function:
../src/mainwindow.cpp:577:56: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [6]’)
  577 |             QString a = QString::number(o.value("info")["satid"].toInt());
      |                                                        ^
../src/mainwindow.cpp:578:40: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [8]’)
  578 |             QString b = o.value("info")["satname"].toString();
      |                                        ^
../src/mainwindow.cpp:579:56: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [12]’)
  579 |             QString c = QString::number(o.value("info")["passescount"].toInt());
      |                                                        ^
../src/mainwindow.cpp:584:55: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  584 |                 myDateTime.setTime_t(o.value("passes")[x]["startUTC"].toInt());
      |                                                       ^
../src/mainwindow.cpp:586:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  586 |                 QString e = QString::number(o.value("passes")[x]["startAz"].toDouble()) + "°";
      |                                                              ^
../src/mainwindow.cpp:587:52: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  587 |                 myDateTime.setTime_t(o.value("pes")[x]["maxUTC"].toInt());
      |                                                    ^
../src/mainwindow.cpp:589:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  589 |                 QString g = QString::number(o.value("passes")[x]["maxAz"].toDouble()) + "°";
      |                                                              ^
../src/mainwindow.cpp:590:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  590 |                 QString h = QString::number(o.value("passes")[x]["maxEl"].toDouble()) + "°";
      |                                                              ^
../src/mainwindow.cpp:591:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  591 |                 QString i = QString::number(o.value("passes")[x]["endAz"].toDouble()) + "°";
      |                                                              ^
../src/mainwindow.cpp:592:55: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  592 |                 myDateTime.setTime_t(o.value("passes")[x]["endUTC"].toInt());
      |                                                       ^
../src/mainwindow.cpp:594:46: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  594 |                 QString k = o.value("passes")[x]["startAzCompass"].toString();
      |                                              ^
../src/mainwindow.cpp:595:46: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  595 |                 QString l = o.value("passes")[x]["maxAzCompass"].toString();
      |                                              ^
../src/mainwindow.cpp:596:46: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  596 |                 QString m = o.value("passes")[x]["endAzCompass"].toString();
      |                                              ^
../src/mainwindow.cpp: In lambda function:
../src/mainwindow.cpp:650:52: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [6]’)
  650 |         QString a = QString::number(o.value("info")["satid"].toInt());
      |                                                    ^
../src/mainwindow.cpp:651:36: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [8]’)
  651 |         QString b = o.value("info")["satname"].toString();
      |                                    ^
../src/mainwindow.cpp: In member function ‘void MainWindow::tableTimer()’:
../src/mainwindow.cpp:919:39: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  919 |             if (var.value("positions")[i]["timestamp"].toInt() == UTC.toSecsSinceEpoch())
      |                                       ^
../src/mainwindow.cpp:922:62: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [6]’)
  922 |                 QString a = QString::number(var.value("info")["satid"].toInt());
      |                                                              ^
../src/mainwindow.cpp:923:46: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘const char [8]’)
  923 |                 QString b = var.value("info")["satname"].toString();
      |                                              ^
../src/mainwindow.cpp:925:67: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  925 |            QString c = QString::number(var.value("positions")[i]["satlatitude"].toDouble()) + "°";
      |                                                              ^

../src/mainwindow.cpp:926:67: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  926 |            QString d = QString::number(var.value("positions")[i]["satlongitude"].toDouble()) + "°";
      |                                                              ^

../src/mainwindow.cpp:927:67: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  927 |            QString e = QString::number(var.value("positions")[i]["sataltitude"].toDouble()) + " Km";
      |                                                              ^

../src/mainwindow.cpp:928:67: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  928 |            QString f = QString::number(var.value("positions")[i]["azimuth"].toDouble()) + "°";
      |                                                              ^

../src/mainwindow.cpp:929:67: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  929 |            QString g = QString::number(var.value("positions")[i]["elevation"].toDouble()) + "°";
      |                                                              ^

../src/mainwindow.cpp:930:67: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  930 |            QString h = QString::number(var.value("positions")[i]["ra"].toDouble()) + "°";
      |                                                              ^

../src/mainwindow.cpp:931:67: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  931 |            QString j = QString::number(var.value("positions")[i]["dec"].toDouble()) + "°";
      |                                                              ^

../src/mainwindow.cpp:933:60: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  933 |                 myDateTime.setTime_t(var.value("positions")[i]["timestamp"].toInt());
      |                                                            ^
../src/mainwindow.cpp:966:70: error: no match for ‘operator[]’ (operand types are ‘QJsonValue’ and ‘int’)
  966 | if (UTC.toSecsSinceEpoch() > (positions[0].value("positions")[lm - 1]["timestamp"].toInt() + 0))
      |                                                              ^


Desktop (please complete the following information):

  • OS: Ubuntu 19.10
  • qmake
  • Version 3.1

Additional context
quick solution will be appreciated

Components lists issue

The initial list was really costly and some parts are really hard to get for the electronics and telecommunication parts

Boost library conflict

The error it spits out during compilation in qmake

libQt5Gui.so /opt/Qt5.14.1/5.14.1/gcc_64/lib/libQt5Core.so -lGL -lpthread
/usr/bin/ld: api.o: in function api::sample()':
/home/ahmad/Documents/UofG/Semester 2/Real Time Embedded Programming/satRot/Software/build-SatRot-GUI-Desktop_Qt_5_14_1_GCC_64bit-Debug/GUI-Main/../../SatRot-GUI/GUI-Main/src/api.cpp:36: undefined reference to boost::log::v2_mt_posix::core::get()' /usr/bin/ld: /home/ahmad/Documents/UofG/Semester 2/Real Time Embedded Programming/satRot/Software/build-SatRot-GUI-Desktop_Qt_5_14_1_GCC_64bit-Debug/GUI-Main/../../SatRot-GUI/GUI-Main/src/api.cpp:37: undefined reference to boost::log::v2_mt_posix::core::set_filter(boost::log::v2_mt_posix::filter const&)'
/usr/bin/ld: /home/ahmad/Documents/UofG/Semester 2/Real Time Embedded Programming/satRot/Software/build-SatRot-GUI-Desktop_Qt_5_14_1_GCC_64bit-Debug/GUI-Main/../../SatRot-GUI/GUI-Main/src/api.cpp:42: undefined reference to restc_cpp::RestClient::Create()' /usr/bin/ld: api.o: in function boost::log::v2_mt_posix::attribute_name::attribute_name(char const*)':
/usr/include/boost/log/attributes/attribute_name.hpp:80: undefined reference to boost::log::v2_mt_posix::attribute_name::get_id_from_string(char const*)' /usr/bin/ld: api.o: in function boost::log::v2_mt_posix::record::reset()':
/usr/include/boost/log/core/record.hpp:157: undefined reference to boost::log::v2_mt_posix::record_view::public_data::destroy(boost::log::v2_mt_posix::record_view::public_data const*)' /usr/bin/ld: api.o: in function boost::system::error_code::error_code()':
/usr/include/boost/system/error_code.hpp:461: undefined reference to boost::system::system_category()' /usr/bin/ld: api.o: in function boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const':
/usr/include/boost/system/error_code.hpp:703: undefined reference to boost::system::generic_category()' /usr/bin/ld: /usr/include/boost/system/error_code.hpp:706: undefined reference to boost::system::generic_category()'
/usr/bin/ld: api.o: in function boost::system::error_category::std_category::equivalent(std::error_code const&, int) const': /usr/include/boost/system/error_code.hpp:733: undefined reference to boost::system::generic_category()'
/usr/bin/ld: /usr/include/boost/system/error_code.hpp:736: undefined reference to boost::system::generic_category()' /usr/bin/ld: /usr/include/boost/system/error_code.hpp:748: undefined reference to boost::system::generic_category()'
/usr/bin/ld: api.o: in function boost::asio::error::get_system_category()': /usr/include/boost/asio/error.hpp:230: undefined reference to boost::system::system_category()'
/usr/bin/ld: api.o: in function boost::coroutines::attributes::attributes()': /usr/include/boost/coroutine/attributes.hpp:30: undefined reference to boost::coroutines::stack_traits::default_size()'
/usr/bin/ld: api.o: in function boost::coroutines::detail::push_coroutine_impl<void>::unwind_stack()': /usr/include/boost/coroutine/detail/push_coroutine_impl.hpp:247: undefined reference to boost::coroutines::detail::coroutine_context::jump(boost::coroutines::detail::coroutine_context&, void*)'
/usr/bin/ld: api.o: in function boost::coroutines::detail::push_coroutine_impl<void>::push()': /usr/include/boost/coroutine/detail/push_coroutine_impl.hpp:265: undefined reference to boost::coroutines::detail::coroutine_context::jump(boost::coroutines::detail::coroutine_context&, void*)'
/usr/bin/ld: api.o: in function boost::asio::ssl::detail::openssl_init_base::do_init::~do_init()': /usr/include/boost/asio/ssl/detail/impl/openssl_init.ipp:90: undefined reference to CONF_modules_unload'
/usr/bin/ld: api.o: in function boost::asio::error::detail::ssl_category::message[abi:cxx11](int) const': /usr/include/boost/asio/ssl/impl/error.ipp:39: undefined reference to ERR_reason_error_string'
/usr/bin/ld: api.o: in function restc_cpp::RequestBuilder::Build()': /usr/local/include/restc-cpp/RequestBuilder.h:371: undefined reference to restc_cpp::Request::Create(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, restc_cpp::Request::Type, restc_cpp::RestClient&, std::unique_ptr<restc_cpp::RequestBody, std::default_delete<restc_cpp::RequestBody> >, boost::optional<std::deque<restc_cpp::Request::Arg, std::allocator<restc_cpp::Request::Arg> > > const&, boost::optional<restc_cpp::Headers> const&, boost::optional<restc_cpp::Request::Auth> const&)'
/usr/bin/ld: api.o: in function restc_cpp::RestClient::ProcessWithPromiseT<Post>(std::function<Post (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::executor_binder<void (*)(), boost::asio::executor> >)#1}::operator()(boost::asio::basic_yield_context<boost::asio::executor_binder<void (*)(), boost::asio::executor> >) const': /usr/local/include/restc-cpp/restc-cpp.h:371: undefined reference to restc_cpp::Context::Create(boost::asio::basic_yield_context<boost::asio::executor_binder<void ()(), boost::asio::executor> >&, restc_cpp::RestClient&)'
/usr/bin/ld: api.o: in function restc_cpp::RapidJsonDeserializer<Post>::DoStartObject()': /usr/local/include/restc-cpp/SerializeJson.h:1014: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()'
/usr/bin/ld: /usr/local/include/restc-cpp/SerializeJson.h:1014: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()' /usr/bin/ld: api.o: in function void restc_cpp::RapidJsonDeserializer::RecurseToMember(std::enable_if<boost::fusion::traits::is_sequence::value, void>::type
)':
/usr/local/include/restc-cpp/SerializeJson.h:780: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()' /usr/bin/ld: /usr/local/include/restc-cpp/SerializeJson.h:780: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()'
/usr/bin/ld: api.o: in function boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_composite_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level>, boost::log::v2_mt_posix::sources::multi_thread_model<boost::log::v2_mt_posix::aux::light_rw_mutex>, boost::log::v2_mt_posix::sources::features<boost::log::v2_mt_posix::sources::severity<boost::log::v2_mt_posix::trivial::severity_level> > >::open_record<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> >(boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> const&)': /usr/include/boost/log/sources/basic_logger.hpp:456: undefined reference to boost::log::v2_mt_posix::core::get_logging_enabled() const'
/usr/bin/ld: api.o: in function boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::~record_pump()': /usr/include/boost/log/sources/record_ostream.hpp:526: undefined reference to boost::log::v2_mt_posix::aux::unhandled_exception_count()'
/usr/bin/ld: api.o: in function bool restc_cpp::RapidJsonDeserializer<Post>::SetValue<bool>(bool)': /usr/local/include/restc-cpp/SerializeJson.h:941: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()'
/usr/bin/ld: /usr/local/include/restc-cpp/SerializeJson.h:941: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()' /usr/bin/ld: api.o: in function bool restc_cpp::RapidJsonDeserializer::SetValue<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(std::__cxx11::basic_string<char, std::char_traits, std::allocator >)':
/usr/local/include/restc-cpp/SerializeJson.h:941: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()' /usr/bin/ld: /usr/local/include/restc-cpp/SerializeJson.h:941: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()'
/usr/bin/ld: api.o: in function bool restc_cpp::RapidJsonDeserializer<Post>::SetValue<double>(double)': /usr/local/include/restc-cpp/SerializeJson.h:941: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()'
/usr/bin/ld: api.o:/usr/local/include/restc-cpp/SerializeJson.h:941: more undefined references to boost::log::v2_mt_posix::trivial::logger::get()' follow /usr/bin/ld: api.o: in function boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mtboost::log::v2_mt_posix::trivial::severity_level >::record_pump(boost::log::v2_mt_posix::sources::severity_logger_mtboost::log::v2_mt_posix::trivial::severity_level&, boost::log::v2_mt_posix::record&)':
/usr/include/boost/log/sources/record_ostream.hpp:506: undefined reference to boost::log::v2_mt_posix::aux::stream_provider<char>::allocate_compound(boost::log::v2_mt_posix::record&)' /usr/bin/ld: /usr/include/boost/log/sources/record_ostream.hpp:507: undefined reference to boost::log::v2_mt_posix::aux::unhandled_exception_count()'
/usr/bin/ld: api.o: in function boost::log::v2_mt_posix::aux::record_pump<boost::log::v2_mt_posix::sources::severity_logger_mt<boost::log::v2_mt_posix::trivial::severity_level> >::auto_release::~auto_release()': /usr/include/boost/log/sources/record_ostream.hpp:491: undefined reference to boost::log::v2_mt_posix::aux::stream_provider::release_compound(boost::log::v2_mt_posix::aux::stream_provider::stream_compound*)'
/usr/bin/ld: api.o: in function bool restc_cpp::RapidJsonDeserializer<Post>::SetValueOnMember<Post, bool>(bool const&, std::enable_if<boost::fusion::traits::is_sequence<Post>::value, void>::type*)': /usr/local/include/restc-cpp/SerializeJson.h:843: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()'
/usr/bin/ld: /usr/local/include/restc-cpp/SerializeJson.h:843: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()' /usr/bin/ld: api.o: in function bool restc_cpp::RapidJsonDeserializer::SetValueOnMember<Post, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::enable_if<boost::fusion::traits::is_sequence::value, void>::type*)':
/usr/local/include/restc-cpp/SerializeJson.h:843: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()' /usr/bin/ld: /usr/local/include/restc-cpp/SerializeJson.h:843: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()'
/usr/bin/ld: api.o: in function bool restc_cpp::RapidJsonDeserializer<Post>::SetValueOnMember<Post, double>(double const&, std::enable_if<boost::fusion::traits::is_sequence<Post>::value, void>::type*)': /usr/local/include/restc-cpp/SerializeJson.h:843: undefined reference to boost::log::v2_mt_posix::trivial::logger::get()'
/usr/bin/ld: api.o:/usr/local/include/restc-cpp/SerializeJson.h:843: more undefined references to boost::log::v2_mt_posix::trivial::logger::get()' follow /usr/bin/ld: api.o: in function boost::log::v2_mt_posix::sources::aux::severity_levelboost::log::v2_mt_posix::trivial::severity_level::set_value(boost::log::v2_mt_posix::trivial::severity_level)':
/usr/include/boost/log/sources/severity_feature.hpp:135: undefined reference to boost::log::v2_mt_posix::sources::aux::get_severity_level()' /usr/bin/ld: api.o: in function boost::log::v2_mt_posix::record boost::log::v2_mt_posix::sources::basic_logger<char, boost::log::v2_mt_posix::sources::severity_logger_mtboost::log::v2_mt_posix::trivial::severity_level, boost::log::v2_mt_posix::sources::multi_thread_modelboost::log::v2_mt_posix::aux::light_rw_mutex >::open_record_unlocked<boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> >(boost::parameter::aux::tagged_argument<boost::log::v2_mt_posix::keywords::tag::severity, boost::log::v2_mt_posix::trivial::severity_level const> const&)':
/usr/include/boost/log/sources/basic_logger.hpp:259: undefined reference to boost::log::v2_mt_posix::core::open_record(boost::log::v2_mt_posix::attribute_set const&)' /usr/bin/ld: api.o: in function boost::log::v2_mt_posix::core::push_record(boost::log::v2_mt_posix::record&&)':
/usr/include/boost/log/core/core.hpp:308: undefined reference to boost::log::v2_mt_posix::core::push_record_move(boost::log::v2_mt_posix::record&)' /usr/bin/ld: api.o: in function boost::log::v2_mt_posix::value_extractor<boost::log::v2_mt_posix::trivial::severity_level, boost::log::v2_mt_posix::fallback_to_none, boost::log::v2_mt_posix::trivial::tag::severity>::operator()(boost::log::v2_mt_posix::attribute_name const&, boost::log::v2_mt_posix::attribute_value_set const&) const':
/usr/include/boost/log/attributes/value_extraction.hpp:232: undefined reference to boost::log::v2_mt_posix::attribute_value_set::find(boost::log::v2_mt_posix::attribute_name) const' /usr/bin/ld: /usr/include/boost/log/attributes/value_extraction.hpp:233: undefined reference to boost::log::v2_mt_posix::attribute_value_set::end() const'
/usr/bin/ld: /usr/include/boost/log/attributes/value_extraction.hpp:241: undefined reference to boost::log::v2_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2_mt_posix::attribute_name const&)' /usr/bin/ld: api.o: in function boost::coroutines::basic_standard_stack_allocatorboost::coroutines::stack_traits::allocate(boost::coroutines::stack_context&, unsigned long)':
/usr/include/boost/coroutine/standard_stack_allocator.hpp:39: undefined reference to boost::coroutines::stack_traits::minimum_size()' /usr/bin/ld: /usr/include/boost/coroutine/standard_stack_allocator.hpp:40: undefined reference to boost::coroutines::stack_traits::is_unbounded()'
/usr/bin/ld: /usr/include/boost/coroutine/standard_stack_allocator.hpp:40: undefined reference to boost::coroutines::stack_traits::maximum_size()' /usr/bin/ld: api.o: in function boost::coroutines::detail::push_coroutine_context_void::push_coroutine_context_void<boost::coroutines::detail::push_coroutine_object<boost::coroutines::pull_coroutine, void, boost::asio::detail::coro_entry_point<boost::asio::executor_binder<void ()(), boost::asio::strandboost::asio::io_context::executor_type >, restc_cpp::RestClient::ProcessWithPromiseT(std::function<Post (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::executor_binder<void ()(), boost::asio::executor> >)#1}>&, boost::coroutines::basic_standard_stack_allocatorboost::coroutines::stack_traits > >(boost::coroutines::detail::preallocated const&, boost::coroutines::detail::push_coroutine_object<boost::coroutines::pull_coroutine, void, boost::asio::detail::coro_entry_point<boost::asio::executor_binder<void ()(), boost::asio::strandboost::asio::io_context::executor_type >, restc_cpp::RestClient::ProcessWithPromiseT(std::function<Post (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::executor_binder<void ()(), boost::asio::executor> >)#1}>&, boost::coroutines::basic_standard_stack_allocatorboost::coroutines::stack_traits >)':
/usr/include/boost/coroutine/detail/push_coroutine_object.hpp:59: undefined reference to boost::coroutines::detail::coroutine_context::coroutine_context()' /usr/bin/ld: /usr/include/boost/coroutine/detail/push_coroutine_object.hpp:59: undefined reference to boost::coroutines::detail::coroutine_context::coroutine_context(void (
)(boost::context::detail::transfer_t), boost::coroutines::detail::preallocated const&)'
/usr/bin/ld: api.o: in function boost::coroutines::detail::push_coroutine_object<boost::coroutines::pull_coroutine<void>, void, boost::asio::detail::coro_entry_point<boost::asio::executor_binder<void (*)(), boost::asio::strand<boost::asio::io_context::executor_type> >, restc_cpp::RestClient::ProcessWithPromiseT<Post>(std::function<Post (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::executor_binder<void (*)(), boost::asio::executor> >)#1}>&, boost::coroutines::basic_standard_stack_allocator<boost::coroutines::stack_traits> >::run()': /usr/include/boost/coroutine/detail/push_coroutine_object.hpp:302: undefined reference to boost::coroutines::detail::coroutine_context::jump(boost::coroutines::detail::coroutine_context&, void*)'
/usr/bin/ld: api.o: in function boost::coroutines::basic_standard_stack_allocator<boost::coroutines::stack_traits>::deallocate(boost::coroutines::stack_context&)': /usr/include/boost/coroutine/standard_stack_allocator.hpp:55: undefined reference to boost::coroutines::stack_traits::minimum_size()'
/usr/bin/ld: /usr/include/boost/coroutine/standard_stack_allocator.hpp:56: undefined reference to boost::coroutines::stack_traits::is_unbounded()' /usr/bin/ld: /usr/include/boost/coroutine/standard_stack_allocator.hpp:56: undefined reference to boost::coroutines::stack_traits::maximum_size()'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:286: GUI-Main] Error 1
make: *** [Makefile:48: sub-GUI-Main-make_first] Error 2
make[1]: Leaving directory '/home/ahmad/Documents/UofG/Semester 2/Real Time Embedded Programming/satRot/Software/build-SatRot-GUI-Desktop_Qt_5_14_1_GCC_64bit-Debug/GUI-Main'
20:27:17: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project SatRot-GUI (kit: Desktop Qt 5.14.1 GCC 64bit)
When executing step "Make"
20:27:17: Elapsed time: 00:09.`

Fix memory leaks

There are alot of places with memory leaks. This causes the application to slightly slow down the system and increases the latency of the system.

Calling the API

do we need to create JSON file in term that the API will be running probably right??

API Documentation

Could you write a little bit about the API in documentation?
Which IP-Ports are in use?
Something about the json requests and responses?

Stepper keeps rotating continuously

During the testing of stepper class, the stepper needs to move to angle 180 CW at a slow speed and move back CCW to angle 90 at a faster rate. Unfortunately, due to logical error, the motor rotates continously.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.