2011-11-14 18 views
26

Estoy intentando compilar un programa de prueba CUDA en Windows 7 a través del símbolo del sistema, Soy este comando:error de compilación CUDA de símbolo de sistema

nvcc test.cu 

Pero lo único que consigue es este error:

nvcc fatal : Cannot find compiler 'cl.exe' in PATH 

¿Qué puede estar ocasionando este error?

+0

si aparece otro error "No se puede encontrar corecrt.h" después de solucionar este problema, consulte https://stackoverflow.com/questions/38290169/cannot-find-corecrt-h- universalcrt-includepath-is-wrong –

Respuesta

27

Usted tendrá que añadir la carpeta que contiene el archivo "cl.exe" a la variable de entorno de la ruta . Por ejemplo:

C:\Program Files\Microsoft Visual Studio 10.0\VC\bin 

Editar: Ok, vaya a Mi PC -> Propiedades -> Configuración avanzada del sistema -> Variables de entorno. Aquí busque "RUTA" en la lista y agregue la ruta anterior (o la ubicación de su cl.exe).

+0

Bien, pero ¿cómo lo agrego? Estoy acostumbrado a trabajar en Linux, así que no estoy acostumbrado a las formas de Windows ahora ... – Imperian

+0

Bien, pero ahora tengo otro error: 'nvcc fatal: el archivo de configuración de Visual Studio '(nulo)' no puede ser encontrado para la instalación en 'C: \ Archivos de programa (x86) \ Microsoft Visual Studio 9.0 \ VC \ bin /../ ..' ' – Imperian

+1

No importa, me deshice de él simplemente pasando --machine 32 como parámetro para nvcc – Imperian

3

cl.exe es el compilador C/C++ de Microsoft. Entonces, el problema es que no tienes eso instalado donde la línea de comando puede encontrarlo.

1

nvcc es solo una interfaz para la parte específica del programa de CUDA. Debe invocar un compilador completo para finalizar el trabajo. En este caso no se puede encontrar el compilador de Visual Studio 'cl.exe'

Verificar caminos, etc. documentación NVCC

0

Veo que esta es una vieja pregunta, pero recientemente recibí este error en mi Visual Studio 2012 cuando intenté construir mi proyecto CUDA. Aparentemente, había cambiado mi proyecto CUDA al paquete de noviembre de 2012, cambiándolo de nuevo al v110 que generalmente es, por defecto, solucionado este error.

En Visual Studio, haga clic en el proyecto CUDA, -> propiedades-> Propiedades de configuración-> General -> Juego de herramientas de plataforma y elija: Visual Studio 2012 (v110).

Probablemente podría hacer que funcione con el paquete Nov 2012, pero el código CUDA no utiliza ninguna de las funciones adicionales de ese paquete, por lo que no es necesario. (Eso paquete contiene las plantillas variadic para C++. 11)

10

resolver este problema mediante la adición de estas opciones a NVCC

nvcc x.cu ... -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin" 

por ejemplo, mi compilador es VS2012. y cl.exe está en este directorio

+0

¿Puedes aclarar a qué te refieres con "editar este problema"? – skrrgwasme

+0

lo siento, debería escribir solucionar no editar: D lo siento por mi inglés. –

+0

Agregando la carpeta '\ VC \ bin \' a la variable de entorno PATH no funcionó para mí (Win7). ¡Tu solución, sin embargo, funcionó bien! Estaba tratando de compilar un código para MATLAB. ¡Gracias! –

Cuestiones relacionadas