coin-or / qpOASES

Open-source C++ implementation of the recently proposed online active set strategy
GNU Lesser General Public License v2.1
384 stars 129 forks source link

Simulink: Code build Error #97

Closed svigerske closed 4 years ago

svigerske commented 4 years ago

Issue created by migration from Trac.

Original creator: bhagdikarp

Original creation time: 2019-11-07 23:24:09

Assignee: ferreau

Version: 3.2.1

Keywords: Simulink build fail

qpOASES Version: 3.2.1 using with simulink Interface OS: Windows 10 Compiler: Microsoft Visual C++ 2017 Simulink TLC: ert.tlc Hardware Board: Android Build Toolchain: Android SDK/NDK Tools

Error: Unable to generate

Error text: Unexpected error : [armeabi-v7a] Compile thumb : androidExample1 <= rt_matrx.c [armeabi-v7a] Compile thumb : androidExample1 <= rt_printf.c [armeabi-v7a] Compile thumb : androidExample1 <= ert_main.c ../ert_main.c:75:3: warning: implicit declaration of function 'my_android_init' is invalid in C99 [-Wimplicit-function-declaration] my_android_init(pEnv, pObj, pArgv, pMainActivity); ^ ../ert_main.c:82:3: warning: implicit declaration of function 'myRTOSInit' is invalid in C99 [-Wimplicit-function-declaration] myRTOSInit(0.1, 0); ^ 2 warnings generated. [armeabi-v7a] Compile thumb : androidExample1 <= androidExample1.c [armeabi-v7a] Compile thumb : androidExample1 <= androidExample1_data.c [armeabi-v7a] Compile thumb : androidExample1 <= rtGetInf.c [armeabi-v7a] Compile thumb : androidExample1 <= rtGetNaN.c [armeabi-v7a] Compile thumb : androidExample1 <= rt_nonfinite.c [armeabi-v7a] Compile++ thumb: androidExample1 <= qpOASES_QProblem.cpp [armeabi-v7a] Compile thumb : androidExample1 <= androidinitialize.c [armeabi-v7a] SharedLibrary : libandroidExample1.so ../qpOASES_QProblem.cpp:286: error: undefined reference to 'QProblem::QProblem(int, int, HessianType, BooleanType)' ../qpOASES_QProblem.cpp:295: error: undefined reference to 'Options::Options()' ../qpOASES_QProblem.cpp:296: error: undefined reference to 'Options::setToMPC()' ../qpOASES_QProblem.cpp:300: error: undefined reference to 'QProblemB::setPrintLevel(PrintLevel)' ../qpOASES_QProblem.cpp:303: error: undefined reference to 'QProblemB::setPrintLevel(PrintLevel)' ../qpOASES_QProblem.cpp:336: error: undefined reference to 'Options::~Options()' ../qpOASES_QProblem.cpp:433: error: undefined reference to 'QProblem::hotstart(double const, double const, double const, double const, double const, int&, double, Bounds const, Constraints const)' ../qpOASES_QProblem.cpp:441: error: undefined reference to 'QProblem::init(double const, double const, double const, double const, double const, double const, double const, int&, double, double const, double const, Bounds const, Constraints const, double const)' ../qpOASES_QProblem.cpp:427: error: undefined reference to 'QProblem::init(double const, double const, double const, double const, double const, double const, double const, int&, double, double const, double const, Bounds const, Constraints const, double const)' ../qpOASES_QProblem.cpp:0: error: undefined reference to 'QProblemB::getPrimalSolution(double*) const' ../qpOASES_QProblem.cpp:459: error: undefined reference to 'QProblemB::getObjVal() const' ../qpOASES_QProblem.cpp:460: error: undefined reference to 'getSimpleStatus(returnValue, BooleanType)' ../qpOASES_QProblem.cpp:479: error: undefined reference to 'getGlobalMessageHandler()' ../qpOASES_QProblem.cpp:479: error: undefined reference to 'MessageHandling::reset()' C:/Users/03PCSL~1/Desktop/StoA/Ad_QP3/QPOASE~1.1/include\qpOASES/QProblemB.ipp:194: error: undefined reference to 'Options::operator=(Options const&)' C:/Users/03PCSL~1/Desktop/StoA/Ad_QP3/QPOASE~1.1/include\qpOASES/QProblemB.ipp:195: error: undefined reference to 'Options::ensureConsistency()' C:/Users/03PCSL~1/Desktop/StoA/Ad_QP3/QPOASE~1.1/include\qpOASES/QProblemB.ipp:197: error: undefined reference to 'QProblemB::setPrintLevel(PrintLevel)' clang++: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [C:\Users\03pcslocal\Desktop\StoA\Ad_QP3\qpOASES-3.2.1\interfaces\simulink\androidExample1_ert_rtw\androidExample1\src\main/obj/local/armeabi-v7a/libandroidExample1.so] Error 1

Build procedure for model: 'androidExample1' aborted due to an error.

Error(s) encountered while building "androidExample1":

Failed to generate all binary outputs.

Component:Simulink | Category:Block diagram error

piyushbhagdikar commented 4 years ago

This issue was resolved by properly including all source and include files in Simulink configuration. This ticket can be closed