LCQPow icon indicating copy to clipboard operation
LCQPow copied to clipboard

Improvement: remove osqp and qpOASES header dependency.

Open hwyao opened this issue 10 months ago • 0 comments

Desciption

As some design principle, if we would like to distribute this library as binary with header files, we would expect that our include headers can work on our own. However now it is somehow including #include <qpOASES.hpp> #include <osqp.hpp> somewhere in the include folder.

Solution

It might be better to remove this kind of dependency.

Some possible way out:

  • declare the needed parts instead of including whole header.
  • PIMPL idiom that only leave a pointer in the include file.

References: https://stackoverflow.com/questions/13978775/how-to-avoid-include-dependency-to-external-library https://stackoverflow.com/questions/8972588/is-the-pimpl-idiom-really-used-in-practice

But anyway it works ¯_(ツ)_/¯, and changing this requires quite a lot work. So this is not something that has high priority (or even not very necessary).

hwyao avatar Mar 30 '24 23:03 hwyao