Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

slu_ddefs.h et al. declaring BLAS functions #123

Open
wo80 opened this issue Oct 4, 2023 · 0 comments
Open

slu_ddefs.h et al. declaring BLAS functions #123

wo80 opened this issue Oct 4, 2023 · 0 comments

Comments

@wo80
Copy link
Contributor

wo80 commented Oct 4, 2023

I'm currently trying to use SuperLU in a C++ project and I'm getting the following error (Visual Studio):

slu_ddefs.h(270,12): error C2733: 'dgemv_': you cannot overload a function with 'extern "C"' linkage

The problem is that the SuperLU declaration

extern int dgemv_(char *, int *, int *, double *, double *, int *,
                  double *, int *, double *, double *, int *);

doesn't match the declaration used in the C++ code

extern void dgemv_(const char*, const int *, const int *, 
                   const double *, const double *, const int *,
                   const double *, const int *, const double *,
                   double *y, const int *);

Same problem with c, s and z variants.

IMHO, the best solution would be to not have those BLAS functions in the public headers at all. Why should SuperLU be responsible for providing these?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant