Is there a libosqp.LIB file for the Windows libosqp.DLL?

I downloaded osqp-0.6.0-windows64.tar.gz but I do not see the libosqp.lib file but only a libosqp.a file.

Can I simply rename the .a to a .lib?

I will be calling OSQP from Intel Fortran to embed into an industrial-scale Successive Linear/Quadratic Programming executive and I require static linking with .lib files.

You can build a static library yourself by following the guidelines given here.

Thank you for your response.

I used the kernel32.dll to link dynamically instead as you have a relatively small number of OSQP routines to call.

May I suggest to be best practice with your offering, it would be very easy for you to also provide the libosqp.lib with your binaries.

This is supplied by the following third-party solvers we currently connect to: COINMP, GLPK, LPSOLVE, SCIP, IPOPT, KNITRO, CONOPT, WORHP, CPLEX, GUROBI, LINDO, MOSEK, OPTONOMY and XPRESS.

@JeffreyDeanKelly can you try running the OSQP CMake with the variable -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE in the command and see if that allows you to link with it? It is possible that we aren’t exporting the symbols properly for Windows (since IIRC Windows requires an explicit export of symbols from the DLL unlike Linux which always exports all symbols from a .so).

I apologize but I only use Fortran so I cannot implement your suggestion.

It would be possible to call OSQP directly from the C API’s in Fortran but OSQP data structures are convoluting the Fortran-C interoperability and this is not possible. All variable bounds, types, etc. and constraint sparse matrix parallel vectors need to be interfaced separately. This is how COINMP, GLPK, LPSOLVE, IPOPT, CPLEX, GUROBI, MOSEK, LINDO, XPRESS, etc. do this.