NVlabs / nvbio

NVBIO is a library of reusable components designed to accelerate bioinformatics applications using CUDA.
BSD 3-Clause "New" or "Revised" License
206 stars 50 forks source link

Regarding compilation of nvbio on visualstudio 2013 #5

Open mmmovania opened 9 years ago

mmmovania commented 9 years ago

I am writing this post for others who might be facing this as well. I was trying to compile the simplest possible nvbio example given here http://nvlabs.github.io/nvbio/host_device_page.html

It fails in visualstudio 2013 on windows 8.1 x64 machine with the following errors. 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xutility(371): error : name followed by "::" must be a class or namespace name 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xutility(372): error : name followed by "::" must be a class or namespace name 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xutility(373): error : name followed by "::" must be a class or namespace name 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xutility(375): error : name followed by "::" must be a class or namespace name 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xutility(376): error : name followed by "::" must be a class or namespace name 1>E:/Codes/GeneSequence/TestnvBio/TestnvBio/kernel.cu(66): error : no suitable user-defined conversion from "nvbio::vector_view<nvbio::uint32 *, nvbio::uint64>" to "nvbio::vector_view<nvbio::uint32, nvbio::uint32>" exists 1>E:\Libraries\nvbio\nvbio/basic/vector_view.h(159): error : expression must have pointer-to-object type 1> kernel.cu

Solution

Change this line __global__ void my_kernel( nvbio::vector_view<nvbio::uint32> vec) to this __global__ void my_kernel( nvbio::vector_view<nvbio::uint32 *, nvbio::uint64> vec)

Is this correction fine?