我希望在多个线程中运行多个解决程序,并最终运行进程。首先,我尝试调用const auto solver = drake::solvers::MakeSolver(solver_id);,然后将solver.get()传递到每个线程的args中。这成功地编译和运行,但我得到了一些模糊的失败terminate called recursively在drake::solvers::SnoptSolver::DoSolve。我看到MakeSolver似乎在kKnownSolvers中定义的单个求解器实例周围返回一