This is a follow up question to my last post.
Previously, I had a problem linking the function
dgetrf in C++ using Visual Studio 6 with the stdcall calling
convention. The solution to this problem as Tim pointed
out was to call the function with capital letters, DGETRF.
Then it links and runs with no problem.
However, now that I have the matrix in LU form, I want to
solve it. So I tried calling the function DGETRS. When I
do this I get the same linking error, now with DGETRS:
HFTestRoutines.obj : error LNK2001: unresolved external symbol _DGETRS@36
../lib/mytests.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
The call looks like this:
char tran = 'C';
int dm = 10;
int nrhs = 1;
int nchar = 1;
int info = l;
DGETRS(&tran, &dm, &nrhs, a, &dm, ipiv, rhs, &dm, &info);
a is the same matrix (*double) that goes into DGETRF;
ipiv is a *int of length 10 output by DGETRF;
rhs is a *double of length 10.
I have the vague sense that the problem might have something
to do with the different way that C and Fortran treat characters,
but I can't see why (even if this is the problem) the function
(I tried all lowercase, and this does not work either).
Once again, any help would be greatly appreciated. I thought
this afternoon that these problems were behind me and now I feel
like I'm back at square one!