Boost logo

Ublas :

From: Francisco J. González (fgonzalez_at_[hidden])
Date: 2007-03-26 05:27:23

Hello everyone!

I am trying to use the BLAS (through BLAS bindings) to make a copy of a vector.

// #include <bindings/blas/blas1.hpp>
#include <bindings/atlas/cblas1.hpp>

void MyClass::q_update(const real_vector q)
assert( q.size() == q_.size() );
copy(q, q_);

I have found that ATLAS bindings can do that, and, when I link my code to my ATLAS library through ATLAS bindings, no problem rises.
However, if I try to link my code with my BLAS library, called through BLAS sandbox bindings, I get the following error:

error C2780: '_OutIt std::copy(_InIt,_InIt,_OutIt)' : expects 3 arguments - 2 provided
C:\Archivos de programa\Microsoft Visual Studio .NET 2003\Vc7\include\xutility(1038) : see declaration of 'std::copy'

It seems that the linker does not find the BLAS "copy" function. It is defined in cblas1.hpp, but not in blas1.hpp (however, blas1_overloads.hpp includes the definition of "copy", with 5 arguments). Is there any reason to do that?

Thank you in advance!