christianrauch / msp

Implementation of the MultiWii Serial Protocol (MSP) for MultiWii and Cleanflight flight controller
http://www.multiwii.com/wiki/index.php?title=Multiwii_Serial_Protocol
GNU Lesser General Public License v3.0
73 stars 26 forks source link

Build works fine but compilation gives error #45

Closed MD-AZMAL closed 4 years ago

MD-AZMAL commented 4 years ago

On compiling fcu_test using

gcc fcu_test.cpp

i get the following error

In file included from /usr/include/asio/associated_allocator.hpp:18,
                 from /usr/include/asio.hpp:18,
                 from /usr/include/c++/9/Client.hpp:4,
                 from /usr/include/c++/9/FlightController.hpp:4,
                 from fcu_test.cpp:1:
/usr/include/asio/detail/config.hpp:26:11: fatal error: boost/config.hpp: No such file or directory
   26 | # include <boost/config.hpp>
      |           ^~~~~~~~~~~~~~~~~~
compilation terminated.

I have installed all the necessary msp related header files but still this asio issue pops up. I checked your comment https://github.com/christianrauch/msp/issues/4#issuecomment-301948254 which says it does not depend on boost then why am i getting this error?

christianrauch commented 4 years ago

How does the "build" work but the "compilation" fails? Usually, the built includes the compilation.

You directly try to compile the C source file without providing all the necessary build and linker flags. It won't work like this. You have to follow the build instructions and use CMake to build the project.

If you really want to build this without CMake, you have to provide all the flags, such as ASIO_STANDALONE, manually.

MD-AZMAL commented 4 years ago

okay i will try that, keeping the issue still open just in case it requires further querying.

MD-AZMAL commented 4 years ago

Apparently ASIO_STANDALONE parameter did not work DASIO_STADALONE was the one working. But when compiling with c++11 standard i get this error.

g++ -std=c++11 fcu_test.cpp -DASIO_STANDALONE

Error :

In file included from /usr/include/c++/9/FlightController.hpp:4,
                 from fcu_test.cpp:1:
/usr/include/c++/9/Client.hpp: In member function ‘std::shared_ptr<msp::client::SubscriptionBase> msp::client::Client::subscribe(const std::function<void(const T&)>&, const double&)’:
/usr/include/c++/9/Client.hpp:163:48: error: ‘make_unique’ is not a member of ‘std’
  163 |             recv_callback, send_callback, std::make_unique<T>(fw_variant), tp);
      |                                                ^~~~~~~~~~~
/usr/include/c++/9/Client.hpp:163:48: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/Client.hpp:163:61: error: expected primary-expression before ‘>’ token
  163 |             recv_callback, send_callback, std::make_unique<T>(fw_variant), tp);
      |                                                             ^
In file included from /usr/include/c++/9/FlightController.hpp:7,
                 from fcu_test.cpp:1:
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetInavPid::encode() const’:
/usr/include/c++/9/msp_msg.hpp:577:36: error: ‘make_unique’ is not a member of ‘std’
  577 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:577:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:577:58: error: expected primary-expression before ‘>’ token
  577 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:577:60: error: expected primary-expression before ‘)’ token
  577 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetBoardName::encode() const’:
/usr/include/c++/9/msp_msg.hpp:616:36: error: ‘make_unique’ is not a member of ‘std’
  616 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:616:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:616:58: error: expected primary-expression before ‘>’ token
  616 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:616:60: error: expected primary-expression before ‘)’ token
  616 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetNavPosHold::encode() const’:
/usr/include/c++/9/msp_msg.hpp:660:36: error: ‘make_unique’ is not a member of ‘std’
  660 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:660:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:660:58: error: expected primary-expression before ‘>’ token
  660 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:660:60: error: expected primary-expression before ‘)’ token
  660 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetCalibrationData::encode() const’:
/usr/include/c++/9/msp_msg.hpp:712:36: error: ‘make_unique’ is not a member of ‘std’
  712 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:712:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:712:58: error: expected primary-expression before ‘>’ token
  712 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:712:60: error: expected primary-expression before ‘)’ token
  712 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetPositionEstimationConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:767:36: error: ‘make_unique’ is not a member of ‘std’
  767 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:767:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:767:58: error: expected primary-expression before ‘>’ token
  767 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:767:60: error: expected primary-expression before ‘)’ token
  767 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::WpMissionLoad::encode() const’:
/usr/include/c++/9/msp_msg.hpp:788:36: error: ‘make_unique’ is not a member of ‘std’
  788 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:788:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:788:58: error: expected primary-expression before ‘>’ token
  788 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:788:60: error: expected primary-expression before ‘)’ token
  788 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::WpMissionSave::encode() const’:
/usr/include/c++/9/msp_msg.hpp:801:36: error: ‘make_unique’ is not a member of ‘std’
  801 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:801:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:801:58: error: expected primary-expression before ‘>’ token
  801 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:801:60: error: expected primary-expression before ‘)’ token
  801 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetRthAndLandConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:874:36: error: ‘make_unique’ is not a member of ‘std’
  874 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:874:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:874:58: error: expected primary-expression before ‘>’ token
  874 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:874:60: error: expected primary-expression before ‘)’ token
  874 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetFwConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:931:36: error: ‘make_unique’ is not a member of ‘std’
  931 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:931:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:931:58: error: expected primary-expression before ‘>’ token
  931 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:931:60: error: expected primary-expression before ‘)’ token
  931 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetBatteryConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:980:36: error: ‘make_unique’ is not a member of ‘std’
  980 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:980:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:980:58: error: expected primary-expression before ‘>’ token
  980 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:980:60: error: expected primary-expression before ‘)’ token
  980 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetModeRange::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1030:36: error: ‘make_unique’ is not a member of ‘std’
 1030 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1030:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1030:58: error: expected primary-expression before ‘>’ token
 1030 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1030:60: error: expected primary-expression before ‘)’ token
 1030 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetFeature::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1079:36: error: ‘make_unique’ is not a member of ‘std’
 1079 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1079:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1079:58: error: expected primary-expression before ‘>’ token
 1079 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1079:60: error: expected primary-expression before ‘)’ token
 1079 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetBoardAlignment::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1118:36: error: ‘make_unique’ is not a member of ‘std’
 1118 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1118:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1118:58: error: expected primary-expression before ‘>’ token
 1118 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1118:60: error: expected primary-expression before ‘)’ token
 1118 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetCurrentMeterConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1159:36: error: ‘make_unique’ is not a member of ‘std’
 1159 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1159:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1159:58: error: expected primary-expression before ‘>’ token
 1159 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1159:60: error: expected primary-expression before ‘)’ token
 1159 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetMixer::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1192:36: error: ‘make_unique’ is not a member of ‘std’
 1192 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1192:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1192:58: error: expected primary-expression before ‘>’ token
 1192 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1192:60: error: expected primary-expression before ‘)’ token
 1192 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetRxConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1300:36: error: ‘make_unique’ is not a member of ‘std’
 1300 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1300:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1300:58: error: expected primary-expression before ‘>’ token
 1300 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1300:60: error: expected primary-expression before ‘)’ token
 1300 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetLedColors::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1380:36: error: ‘make_unique’ is not a member of ‘std’
 1380 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1380:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1380:58: error: expected primary-expression before ‘>’ token
 1380 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1380:60: error: expected primary-expression before ‘)’ token
 1380 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetLedStripConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1419:36: error: ‘make_unique’ is not a member of ‘std’
 1419 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1419:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1419:58: error: expected primary-expression before ‘>’ token
 1419 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1419:60: error: expected primary-expression before ‘)’ token
 1419 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetRssiConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1450:36: error: ‘make_unique’ is not a member of ‘std’
 1450 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1450:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1450:58: error: expected primary-expression before ‘>’ token
 1450 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1450:60: error: expected primary-expression before ‘)’ token
 1450 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetAdjustmentRange::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1497:36: error: ‘make_unique’ is not a member of ‘std’
 1497 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1497:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1497:58: error: expected primary-expression before ‘>’ token
 1497 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1497:60: error: expected primary-expression before ‘)’ token
 1497 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetCfSerialConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1553:36: error: ‘make_unique’ is not a member of ‘std’
 1553 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1553:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1553:58: error: expected primary-expression before ‘>’ token
 1553 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1553:60: error: expected primary-expression before ‘)’ token
 1553 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetVoltageMeterConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1599:36: error: ‘make_unique’ is not a member of ‘std’
 1599 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1599:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1599:58: error: expected primary-expression before ‘>’ token
 1599 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1599:60: error: expected primary-expression before ‘)’ token
 1599 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetArmingConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1672:36: error: ‘make_unique’ is not a member of ‘std’
 1672 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1672:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1672:58: error: expected primary-expression before ‘>’ token
 1672 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1672:60: error: expected primary-expression before ‘)’ token
 1672 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetRxMap::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1721:36: error: ‘make_unique’ is not a member of ‘std’
 1721 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1721:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1721:58: error: expected primary-expression before ‘>’ token
 1721 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1721:60: error: expected primary-expression before ‘)’ token
 1721 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetBfConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1775:36: error: ‘make_unique’ is not a member of ‘std’
 1775 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1775:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1775:58: error: expected primary-expression before ‘>’ token
 1775 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1775:60: error: expected primary-expression before ‘)’ token
 1775 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::DataflashRead::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1850:36: error: ‘make_unique’ is not a member of ‘std’
 1850 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1850:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1850:58: error: expected primary-expression before ‘>’ token
 1850 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1850:60: error: expected primary-expression before ‘)’ token
 1850 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetLoopTime::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1899:36: error: ‘make_unique’ is not a member of ‘std’
 1899 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1899:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1899:58: error: expected primary-expression before ‘>’ token
 1899 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1899:60: error: expected primary-expression before ‘)’ token
 1899 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetFailsafeConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:1957:36: error: ‘make_unique’ is not a member of ‘std’
 1957 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:1957:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:1957:58: error: expected primary-expression before ‘>’ token
 1957 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:1957:60: error: expected primary-expression before ‘)’ token
 1957 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetBlackboxConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2083:36: error: ‘make_unique’ is not a member of ‘std’
 2083 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2083:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2083:58: error: expected primary-expression before ‘>’ token
 2083 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2083:60: error: expected primary-expression before ‘)’ token
 2083 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetTransponderConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2140:36: error: ‘make_unique’ is not a member of ‘std’
 2140 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2140:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2140:58: error: expected primary-expression before ‘>’ token
 2140 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2140:60: error: expected primary-expression before ‘)’ token
 2140 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetOsdConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2205:36: error: ‘make_unique’ is not a member of ‘std’
 2205 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2205:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2205:58: error: expected primary-expression before ‘>’ token
 2205 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2205:60: error: expected primary-expression before ‘)’ token
 2205 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::OsdCharWrite::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2238:36: error: ‘make_unique’ is not a member of ‘std’
 2238 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2238:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2238:58: error: expected primary-expression before ‘>’ token
 2238 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2238:60: error: expected primary-expression before ‘)’ token
 2238 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetVtxConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2300:36: error: ‘make_unique’ is not a member of ‘std’
 2300 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2300:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2300:58: error: expected primary-expression before ‘>’ token
 2300 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2300:60: error: expected primary-expression before ‘)’ token
 2300 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetAdvancedConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2355:36: error: ‘make_unique’ is not a member of ‘std’
 2355 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2355:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2355:58: error: expected primary-expression before ‘>’ token
 2355 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2355:60: error: expected primary-expression before ‘)’ token
 2355 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetFilterConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2417:36: error: ‘make_unique’ is not a member of ‘std’
 2417 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2417:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2417:58: error: expected primary-expression before ‘>’ token
 2417 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2417:60: error: expected primary-expression before ‘)’ token
 2417 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetPidAdvanced::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2483:36: error: ‘make_unique’ is not a member of ‘std’
 2483 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2483:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2483:58: error: expected primary-expression before ‘>’ token
 2483 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2483:60: error: expected primary-expression before ‘)’ token
 2483 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetSensorConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2540:36: error: ‘make_unique’ is not a member of ‘std’
 2540 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2540:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2540:58: error: expected primary-expression before ‘>’ token
 2540 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2540:60: error: expected primary-expression before ‘)’ token
 2540 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::CameraControl::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2564:36: error: ‘make_unique’ is not a member of ‘std’
 2564 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2564:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2564:58: error: expected primary-expression before ‘>’ token
 2564 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2564:60: error: expected primary-expression before ‘)’ token
 2564 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetArmingDisabled::encode() const’:
/usr/include/c++/9/msp_msg.hpp:2580:36: error: ‘make_unique’ is not a member of ‘std’
 2580 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:2580:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:2580:58: error: expected primary-expression before ‘>’ token
 2580 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:2580:60: error: expected primary-expression before ‘)’ token
 2580 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::Displayport::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4101:36: error: ‘make_unique’ is not a member of ‘std’
 4101 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4101:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4101:58: error: expected primary-expression before ‘>’ token
 4101 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4101:60: error: expected primary-expression before ‘)’ token
 4101 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::CopyProfile::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4128:36: error: ‘make_unique’ is not a member of ‘std’
 4128 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4128:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4128:58: error: expected primary-expression before ‘>’ token
 4128 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4128:60: error: expected primary-expression before ‘)’ token
 4128 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetBeeperConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4164:36: error: ‘make_unique’ is not a member of ‘std’
 4164 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4164:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4164:58: error: expected primary-expression before ‘>’ token
 4164 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4164:60: error: expected primary-expression before ‘)’ token
 4164 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetTxInfo::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4185:36: error: ‘make_unique’ is not a member of ‘std’
 4185 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4185:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4185:58: error: expected primary-expression before ‘>’ token
 4185 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4185:60: error: expected primary-expression before ‘)’ token
 4185 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetRawRc::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4224:36: error: ‘make_unique’ is not a member of ‘std’
 4224 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4224:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4224:58: error: expected primary-expression before ‘>’ token
 4224 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4224:60: error: expected primary-expression before ‘)’ token
 4224 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetRawGPS::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4248:36: error: ‘make_unique’ is not a member of ‘std’
 4248 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4248:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4248:58: error: expected primary-expression before ‘>’ token
 4248 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4248:60: error: expected primary-expression before ‘)’ token
 4248 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetPid::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4269:36: error: ‘make_unique’ is not a member of ‘std’
 4269 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4269:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4269:58: error: expected primary-expression before ‘>’ token
 4269 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4269:60: error: expected primary-expression before ‘)’ token
 4269 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetRcTuning::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4297:36: error: ‘make_unique’ is not a member of ‘std’
 4297 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4297:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4297:58: error: expected primary-expression before ‘>’ token
 4297 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4297:60: error: expected primary-expression before ‘)’ token
 4297 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetMisc::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4353:36: error: ‘make_unique’ is not a member of ‘std’
 4353 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4353:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4353:58: error: expected primary-expression before ‘>’ token
 4353 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4353:60: error: expected primary-expression before ‘)’ token
 4353 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetWp::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4399:36: error: ‘make_unique’ is not a member of ‘std’
 4399 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4399:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4399:58: error: expected primary-expression before ‘>’ token
 4399 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4399:60: error: expected primary-expression before ‘)’ token
 4399 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SelectSetting::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4424:36: error: ‘make_unique’ is not a member of ‘std’
 4424 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4424:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4424:58: error: expected primary-expression before ‘>’ token
 4424 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4424:60: error: expected primary-expression before ‘)’ token
 4424 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetHeading::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4439:36: error: ‘make_unique’ is not a member of ‘std’
 4439 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4439:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4439:58: error: expected primary-expression before ‘>’ token
 4439 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4439:60: error: expected primary-expression before ‘)’ token
 4439 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetServoConf::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4462:36: error: ‘make_unique’ is not a member of ‘std’
 4462 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4462:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4462:58: error: expected primary-expression before ‘>’ token
 4462 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4462:60: error: expected primary-expression before ‘)’ token
 4462 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetMotor::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4490:36: error: ‘make_unique’ is not a member of ‘std’
 4490 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4490:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4490:58: error: expected primary-expression before ‘>’ token
 4490 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4490:60: error: expected primary-expression before ‘)’ token
 4490 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetMotor3dConf::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4517:36: error: ‘make_unique’ is not a member of ‘std’
 4517 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4517:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4517:58: error: expected primary-expression before ‘>’ token
 4517 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4517:60: error: expected primary-expression before ‘)’ token
 4517 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetRcDeadband::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4534:36: error: ‘make_unique’ is not a member of ‘std’
 4534 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4534:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4534:58: error: expected primary-expression before ‘>’ token
 4534 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4534:60: error: expected primary-expression before ‘)’ token
 4534 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetSensorAlignment::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4559:36: error: ‘make_unique’ is not a member of ‘std’
 4559 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4559:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4559:58: error: expected primary-expression before ‘>’ token
 4559 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4559:60: error: expected primary-expression before ‘)’ token
 4559 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetLedStripModecolor::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4580:36: error: ‘make_unique’ is not a member of ‘std’
 4580 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4580:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4580:58: error: expected primary-expression before ‘>’ token
 4580 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4580:60: error: expected primary-expression before ‘)’ token
 4580 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetMotorConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4599:36: error: ‘make_unique’ is not a member of ‘std’
 4599 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4599:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4599:58: error: expected primary-expression before ‘>’ token
 4599 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4599:60: error: expected primary-expression before ‘)’ token
 4599 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetGpsConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4617:36: error: ‘make_unique’ is not a member of ‘std’
 4617 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4617:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4617:58: error: expected primary-expression before ‘>’ token
 4617 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4617:60: error: expected primary-expression before ‘)’ token
 4617 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetCompassConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4638:36: error: ‘make_unique’ is not a member of ‘std’
 4638 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4638:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4638:58: error: expected primary-expression before ‘>’ token
 4638 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4638:60: error: expected primary-expression before ‘)’ token
 4638 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetAccTrim::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4657:36: error: ‘make_unique’ is not a member of ‘std’
 4657 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4657:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4657:58: error: expected primary-expression before ‘>’ token
 4657 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4657:60: error: expected primary-expression before ‘)’ token
 4657 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetServoMixRule::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4748:36: error: ‘make_unique’ is not a member of ‘std’
 4748 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4748:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4748:58: error: expected primary-expression before ‘>’ token
 4748 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4748:60: error: expected primary-expression before ‘)’ token
 4748 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::Set4WayIF::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4775:36: error: ‘make_unique’ is not a member of ‘std’
 4775 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4775:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4775:58: error: expected primary-expression before ‘>’ token
 4775 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4775:60: error: expected primary-expression before ‘)’ token
 4775 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::SetRtc::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4803:36: error: ‘make_unique’ is not a member of ‘std’
 4803 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4803:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4803:58: error: expected primary-expression before ‘>’ token
 4803 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4803:60: error: expected primary-expression before ‘)’ token
 4803 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::CommonSetTz::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4913:36: error: ‘make_unique’ is not a member of ‘std’
 4913 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4913:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4913:58: error: expected primary-expression before ‘>’ token
 4913 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4913:60: error: expected primary-expression before ‘)’ token
 4913 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::CommonSetting::encode() const’:
/usr/include/c++/9/msp_msg.hpp:4949:36: error: ‘make_unique’ is not a member of ‘std’
 4949 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:4949:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:4949:58: error: expected primary-expression before ‘>’ token
 4949 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:4949:60: error: expected primary-expression before ‘)’ token
 4949 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::CommonSetSetting::encode() const’:
/usr/include/c++/9/msp_msg.hpp:5034:36: error: ‘make_unique’ is not a member of ‘std’
 5034 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:5034:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:5034:58: error: expected primary-expression before ‘>’ token
 5034 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:5034:60: error: expected primary-expression before ‘)’ token
 5034 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::CommonSetMotorMixer::encode() const’:
/usr/include/c++/9/msp_msg.hpp:5110:36: error: ‘make_unique’ is not a member of ‘std’
 5110 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:5110:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:5110:58: error: expected primary-expression before ‘>’ token
 5110 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:5110:60: error: expected primary-expression before ‘)’ token
 5110 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::InavSetMisc::encode() const’:
/usr/include/c++/9/msp_msg.hpp:5323:36: error: ‘make_unique’ is not a member of ‘std’
 5323 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:5323:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:5323:58: error: expected primary-expression before ‘>’ token
 5323 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:5323:60: error: expected primary-expression before ‘)’ token
 5323 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::InavSetBatteryConfig::encode() const’:
/usr/include/c++/9/msp_msg.hpp:5391:36: error: ‘make_unique’ is not a member of ‘std’
 5391 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:5391:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:5391:58: error: expected primary-expression before ‘>’ token
 5391 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:5391:60: error: expected primary-expression before ‘)’ token
 5391 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                            ^
/usr/include/c++/9/msp_msg.hpp: In member function ‘virtual msp::ByteVectorUptr msp::msg::InavSetRateProfile::encode() const’:
/usr/include/c++/9/msp_msg.hpp:5462:36: error: ‘make_unique’ is not a member of ‘std’
 5462 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                    ^~~~~~~~~~~
/usr/include/c++/9/msp_msg.hpp:5462:36: note: ‘std::make_unique’ is only available from C++14 onwards
/usr/include/c++/9/msp_msg.hpp:5462:58: error: expected primary-expression before ‘>’ token
 5462 |         ByteVectorUptr data = std::make_unique<ByteVector>();
      |                                                          ^
/usr/include/c++/9/msp_msg.hpp:5462:60: error: expected primary-expression before ‘)’ token
 5462 |         ByteVectorUptr data = std::make_unique<ByteVector>();

But when i use c++98 standard along with asio standalone i get the following error

g++ -std=c++98 fcu_test.cpp -DASIO_STANDALONE

Error:

In file included from /usr/include/asio/associated_allocator.hpp:20,
                 from /usr/include/asio.hpp:18,
                 from /usr/include/c++/9/Client.hpp:4,
                 from /usr/include/c++/9/FlightController.hpp:4,
                 from fcu_test.cpp:1:
/usr/include/asio/detail/type_traits.hpp:23:11: fatal error: boost/type_traits/add_const.hpp: No such file or directory
   23 | # include <boost/type_traits/add_const.hpp>
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

I am not sure what to do.

christianrauch commented 4 years ago

The error message note: ‘std::make_unique’ is only available from C++14 onwards gives a strong hint of what is missing. Anyway, you still will need to provide a couple of additional parameters to gcc to make this work.

I am not sure what to do.

Follow the build instructions and use CMake :-)

christianrauch commented 4 years ago

@MD-AZMAL Did you manage to compile the project using CMake according to the instructions? If you still have problems with the CMake build instructions, let me know.

MD-AZMAL commented 4 years ago

No CMake works fine actually i was trying to use nodejs native addon so i can compile endpoints for my javascript project. Thus i need a way to compile my code using g++. Once that is done i would then move to build it using node gyp so that these methods are accessible in javascript.

MD-AZMAL commented 4 years ago

unfortunately i did not find any good javascript libraries that can be used for this purpose. Most of them are outdated and some do not function well. If you know anything that would help me please mention.

christianrauch commented 4 years ago

You want to generate JavaScript bindings for the msp library?

Is there a reason you have to use plain g++ for this, instead of using some build tool like CMake? I think it would be much easier to extend the CMake project with the wrapper, than trying to replicate the CMake script behaviour. I am happy to merge that functionality into this repo if you get it working.

Would cmake-js help?

MD-AZMAL commented 4 years ago

yes i was trying to make javascript bindings! true maybe i should try use cmake instead. Let's see where i get :P, i'll have a look at cmake-js thanks for pointing it out!

christianrauch commented 4 years ago

Can I then close this issue for now? The binding integration is not exactly a build issue with the CMake project.

If you want to add the JavaScript bindings to the CMake project, you can open a PR with this functionality and we can fix any outstanding issues there.

MD-AZMAL commented 4 years ago

yes ofcourse.. feel free to close the issue! 😁