Hi
I want to use ACADOS in MATLAB to implement NMPC for UAV control. I have already configured the MATLAB-ACADOS environment, and I can successfully run the provided examples. However, when I try to run my own code, I encounter an error indicating a file permission issue. How can I resolve this?
error message:
nmpc_load_position_acados_create() → success!
delete template…
done.
found compiled acados MEX interface
Not rendering Simulink-related templates, as simulink_opts are not specified.
Successfully rendered acados templates!
misuse acados_template_mex.compile_ocp_shared_lib
Building templated code as shared library
failed.
Got status 2, result: [ 25%] Building C object
CMakeFiles/model_nmpc_load_position.dir/nmpc_load_position_model/nmpc_load_position_dyn_disc_phi_fun.c.obj
[ 50%] Building C object
CMakeFiles/model_nmpc_load_position.dir/nmpc_load_position_model/nmpc_load_position_dyn_disc_phi_fun_jac.c.obj
[ 50%] Built target model_nmpc_load_position
[ 75%] Building C object
CMakeFiles/ocp_nmpc_load_position.dir/acados_solver_nmpc_load_position.c.obj
[ 75%] Built target ocp_nmpc_load_position
[100%] Linking C shared library
acados_ocp_solver_nmpc_load_position.dll
C:/ProgramData/MATLAB/SupportPackages/R2023b/3P.instrset/mingw_w64.instrset/bin/…/lib/gcc/x86_64-w64-mingw32/8.1.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe:
cannot open output file
acados_ocp_solver_nmpc_load_position.dll:
Permission denied
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[2]: ***
[CMakeFiles\acados_ocp_solver_nmpc_load_position.dir\build.make:91:
acados_ocp_solver_nmpc_load_position.dll]
Error 1
mingw32-make.exe[1]: ***
[CMakeFiles\Makefile2:157:
CMakeFiles/acados_ocp_solver_nmpc_load_position.dir/all]
Error 2
mingw32-make.exe: *** [Makefile:135: all]
Error 2
Thank you