У меня нет проблем с компиляцией в Visual Studio + nvcc. Какой компилятор вы используете?
Если это поможет: make_uint4
определено в vector_functions.h, строка 170 как
static __inline__ __host__ __device__ uint4 make_uint4(unsigned int x, unsigned int y, unsigned int z, unsigned int w)
{
uint4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
}
Обновление:
Я получаю похожую ошибку, когда пытаюсь перегрузить функцию, находясь в моем собственном пространстве имен. Вы уверены, что вы не внутри? Если это так, попробуйте поставить ::
перед вызовом функции, чтобы обратиться к глобальной области видимости, то есть:
return ::make_uint4(a.x, a.y, b.x, b.y);