What i obtain wiht git bisect is:
76b7df6169eaa8f41630edca10c3ebd6da07ab14 is the first bad commit
commit 76b7df6169eaa8f41630edca10c3ebd6da07ab14
Author: Jonathan Frey jonathanpaulfrey@gmail.com
Date: Mon Feb 12 15:14:48 2024 +0100
fix Matlab with MSVC (#1036)
https://discourse.acados.org/t/bug-with-visual-studio-compiler-in-matlab-with-working-fix/1449
interfaces/acados_matlab_octave/acados_ocp.m | 2 ±
…/+acados_template_mex/compile_ocp_shared_lib.m | 20 +++++++++++++++++±-
…/+acados_template_mex/compile_sim_shared_lib.m | 20 +++++++++++++++++±-
…/c_templates_tera/CMakeLists.in.txt | 7 +++++++
4 files changed, 44 insertions(+), 5 deletions(-)
I do not know if i am using it properly so i share also what i have typed:
C:\Users\tredi>cd acados
C:\Users\tredi\acados>git bisect start
status: waiting for both good and bad commits
C:\Users\tredi\acados>git bisect bad v0.4.3
status: waiting for good commit(s), bad commit known
C:\Users\tredi\acados>git bisect good v0.3.0
Bisecting: 146 revisions left to test after this (roughly 7 steps)
[6c0f9e85039df97a7bd44abf17a1e6f4f221d046] Python: rename AcadosSimOpts → AcadosSimOptions (#1222)
C:\Users\tredi\acados>git bisect bad
Bisecting: 73 revisions left to test after this (roughly 6 steps)
[b862293d7646e257273144f3251b0c5f54720fd8] MATLAB interface - control rates example (#1126)
C:\Users\tredi\acados>git bisect bad
Bisecting: 36 revisions left to test after this (roughly 5 steps)
[25225aaa2c35f090cb449c82cc9a01a5683eba70] Fix acados cmake config (#1081)
C:\Users\tredi\acados>git bisect bad
Bisecting: 17 revisions left to test after this (roughly 4 steps)
[370af36e281f317b93bd4b03a8e47263fdfa87f0] Mex: Add support for soft nonlinear constraints at initial shooting node (#1059)
C:\Users\tredi\acados>git bisect bad
Bisecting: 8 revisions left to test after this (roughly 3 steps)
[4cfab342188b3fe80f83d041f008c07f83b882ac] Minor C changes (#1045)
C:\Users\tredi\acados>git bisect bad
Bisecting: 4 revisions left to test after this (roughly 2 steps)
[37e17d31890ab54e5a855f1fe787fbf2f5d43bdb] Work on core for speedups (#888)
C:\Users\tredi\acados>git bisect bad
Bisecting: 1 revision left to test after this (roughly 1 step)
[e84fa19cb12db0996dc29cb039121dc70e93a039] Support slack penalties for initial stage in MEX interface (#1037)
C:\Users\tredi\acados>git bisect bad
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[76b7df6169eaa8f41630edca10c3ebd6da07ab14] fix Matlab with MSVC (#1036)
C:\Users\tredi\acados>git bisect bad
When running matlab at every steps, i have the same error:
compiling C:\Users\tredi\acados\examples\acados_matlab_octave....\interfaces\acados_matlab_octave\ocp_get_cost.c
Building with ‘MinGW64 Compiler (C)’.
Error using mex
C:\Users\tredi\acados\interfaces\acados_matlab_octave\ocp_get_cost.c: In function ‘mexFunction’:
C:\Users\tredi\acados\interfaces\acados_matlab_octave\ocp_get_cost.c:63:17: warning: passing argument 1 of ‘ocp_nlp_get’ from
incompatible pointer type [-Wincompatible-pointer-types]
ocp_nlp_get(config, solver, “cost_value”, out_data);
^~~~~~
In file included from C:\Users\tredi\acados\interfaces\acados_matlab_octave\ocp_get_cost.c:36:
C:/Users/tredi/acados/include/acados_c/ocp_nlp_interface.h:440:55: note: expected ‘ocp_nlp_solver *’ {aka ‘struct ocp_nlp_solver *’}
but argument is of type ‘ocp_nlp_config *’ {aka ‘struct ocp_nlp_config *’}
ACADOS_SYMBOL_EXPORT void ocp_nlp_get(ocp_nlp_solver *solver, const char *field, void *return_value_);
^~
C:\Users\tredi\acados\interfaces\acados_matlab_octave\ocp_get_cost.c:63:25: warning: passing argument 2 of ‘ocp_nlp_get’ from
incompatible pointer type [-Wincompatible-pointer-types]
ocp_nlp_get(config, solver, “cost_value”, out_data);
^~
In file included from C:\Users\tredi\acados\interfaces\acados_matlab_octave\ocp_get_cost.c:36:
C:/Users/tredi/acados/include/acados_c/ocp_nlp_interface.h:440:75: note: expected ‘const char *’ but argument is of type
‘ocp_nlp_solver *’ {aka ‘struct ocp_nlp_solver *’}
ACADOS_SYMBOL_EXPORT void ocp_nlp_get(ocp_nlp_solver *solver, const char *field, void *return_value_);
^
C:\Users\tredi\acados\interfaces\acados_matlab_octave\ocp_get_cost.c:63:5: error: too many arguments to function ‘ocp_nlp_get’
ocp_nlp_get(config, solver, “cost_value”, out_data);
^
In file included from C:\Users\tredi\acados\interfaces\acados_matlab_octave\ocp_get_cost.c:36:
C:/Users/tredi/acados/include/acados_c/ocp_nlp_interface.h:440:27: note: declared here
ACADOS_SYMBOL_EXPORT void ocp_nlp_get(ocp_nlp_solver *solver, const char *field, void *return_value_);
^~~~~
Error in ocp_compile_interface (line 141)
mex(mex_flags, FLAGS, LDFLAGS, COMPDEFINES, COMPFLAGS, acados_include, acados_interfaces_include, external_include, blasfeo_include, hpipm_include,…
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in acados_ocp (line 184)
ocp_compile_interface(obj.opts_struct);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in main (line 218)
ocp = acados_ocp(ocp_model, ocp_opts);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^