I didn't download the package myself, but I will take your word that there are no header files in it (seems such from the example you linked to).
First off, not including header files is an extremely weird way of distributing a library.
Looking through the Pardiso manual, it seems they're actually publishing the function interfaces in there. So how you would use it is create the header file yourself by recreating the function prototypes based on information from that PDF. See for example page 7 of the manual, which lists two function calls:
/* Check license of the solver and initialize the solver */
pardisoinit(pt, &mtype, &solver, iparm, dparm, &error);
/* Solve matrix sytem */
pardiso(pt, &maxfct, &mnum, &mtype, &phase, &n, a, ia, ja,
perm, &nrhs, iparm, &msglvl, b, x, &error, dparm);
In the previous and following sections of that PDF, the Fortran prototypes for these functions are given, and their arguments are described in text. From this information, you would have to reconstruct the prototype.
An alternative source for these prototypes would be the examples provided by Pardiso, which apparently contain the prototypes directly. It is up to you to verify whether copy-pasting them would be OK license-wise.
Why they're doing it this way is beyond me, but it seems they are.
To answer the .exp
file question: it's basically similar to the .lib
file in that it specifies which symbols are exported from a .dll
. It can safely be ignored in normal situations. You would need to use one only if you had two binaries (DLL or exe) which link against each other in a circular fashion.