I have created a C++ program with MS Visual Studio C++ 2010 configured to be 64bit application using the sample codes and precompiled blas and lapack libs and dlls (64bit) provided at http://icl.cs.utk.edu/lapack-for-windows/lapack/. I also configured the project properties by adding the libs and their directory to the link properties to make sure VS links them. The codes can be compiled without any problem. However, when I tried to build (link) the project it gives me the error:
error LNK2019: unresolved external symbol dgesv_ referenced in function main
On the other hand, I am able to build the corresponding exe application under 32bit version successfully.
So can anybody help me figure out what the problem is.
Thanks in advance.
BTW, here is the sample code I used for test:
#include "stdafx.h"
#include < stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
void dgesv_(const int *N, const int *nrhs, double *A, const int *lda, int
*ipiv, double *b, const int *ldb, int *info);
void dgels_(const char *trans, const int *M, const int *N, const int *nrhs,
double *A, const int *lda, double *b, const int *ldb, double *work,
const int * lwork, int *info);
#ifdef __cplusplus
}
#endif
int _tmain(int argc, _TCHAR* argv[])
{
/* 3x3 matrix A
* 76 25 11
* 27 89 51
* 18 60 32
*/
double A[9] = {76, 27, 18, 25, 89, 60, 11, 51, 32};
double b[3] = {10, 7, 43};
int N = 3;
int nrhs = 1;
int lda = 3;
int ipiv[3];
int ldb = 3;
int info;
dgesv_(&N, &nrhs, A, &lda, ipiv, b, &ldb, &info);
if(info == 0) /* succeed */
printf("The solution is %lf %lf %lf\n", b[0], b[1], b[2]);
else
fprintf(stderr, "dgesv_ fails %d\n", info);
return info;
}

