nvcc.exe linking error Microsoft Visual Studio con

2020-04-04 12:55发布

I want to use nvcc -ptx from windows command line, but I always get this error message: nvcc : fatal error : Microsoft Visual Studio configuration file 'vcvars64.bat' could not be found for installation at 'C:\Program Files (x86)\Microsoft Visual S tudio 11.0\VC\bin/../..'

I'm using vs 2012 express edition. What can be the solution?

3条回答
够拽才男人
2楼-- · 2020-04-04 13:17

From NVIDIA CUDA Compiler Driver document

1.2. Supported Host Compilers nvcc uses the following compilers for host code compilation:

On Linux platforms

The GNU compiler, gcc, and arm-linux-gnueabihf-g++ for cross compilation to the ARMv7 architecture

On Windows platforms

The Microsoft Visual Studio compiler, cl On both platforms, the compiler found on the current execution search path will be used, unless nvcc option -compiler-bindir is specified (see File and Path Specifications).

查看更多
Evening l夕情丶
3楼-- · 2020-04-04 13:17

When in your project go to Configuration Properties > CUDA C/C++ > Device and change Code Generation to the following: compute_11,sm_11

查看更多
迷人小祖宗
4楼-- · 2020-04-04 13:19

I have managed to solve the issue and make work with MS Visual Studio Express 2012, here what I did:

  1. Installed MS Visual Studio 2012 Express
  2. Installed cuda_5.5.20_winvista_win7_win8_general_64, the latest version as of 2014-01-16
  3. From this directory: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin, I have copied x86_amd64 to amd64
  4. In the new directory: C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64, I have created a file vcvars64.bat
  5. In the file vcvars64.bat, just added: CALL setenv /x64

The compilation worked great:

C:\CUDA>nvcc -o square square.cu Creating library square.lib and object square.exp

C:\CUDA>square.exe 0.000000 1.000000 4.000000 9.000000 16.000000 25.000000 36.000000 49.000000 64.000000 81.000000 100.000000 121.000000 144.000000 169.000000 196.000000 225.000000

查看更多
登录 后发表回答