2012-01-24 48 views
10

Acabo de comenzar un pequeño proyecto en CUDA.Compilar CUDA sin Visual Studio - "No se puede encontrar el compilador cl.exe en la ruta"

Necesito saber lo siguiente: ¿Es posible compilar código CUDA sin usar/comprar Microsoft Visual Studio? Usando Nvcc.exe me sale el error "No se puede encontrar el compilador cl.exe en la ruta".

He intentado instalar un CUDA plugin para NetBeans, pero no funciona. (Con la versión actual de NetBeans)

Plataforma: Windows 7

Gracias de antemano.

+1

¿Qué compilador quieres usar entonces? – flipchart

+0

Sí, puedes hacerlo sin ningún IDE. Puede establecer nvcc como su variable de entorno. – nouveau

+0

@flipchart, me gustaría utilizar cualquier compilador gratuito disponible. Pensé que nvcc era suficiente pero pide cl.exe. –

Respuesta

6

Siguiendo los comentarios anteriores que he instalado Studio Express & VS2010. Esto no resolvió el problema "cl.exe no en ruta".

He resuelto el problema con el error Cannot find compiler cl.exe in path, incluyendo c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 en el PATH, antes de instalar Windows SDK.

Este question también contiene información valiosa.
Por alguna razón VS2010 & Studio Express no se establecieron las variables adecuadas en la ruta, incluso después de la ejecución de vsvars32.bat.

Gracias a todos por su valiosa ayuda.

+1

vsvars32.bat establece las variables adecuadas en la ruta, pero solo en el contexto de ese símbolo del sistema; no está destinado a establecer las variables en todo el sistema. Si desea que un proceso haga uso de las variables, debe iniciar el proceso desde el símbolo del sistema. – arx

+1

Una cosa más relacionada con este problema. He estado recibiendo el mismo error (cl.exe no se encuentra en PATH) aunque se haya agregado en las variables user y sys. Resultó que el problema era tener dos versiones diferentes de Visual Studio (2012 y 2013). Después de desinstalar 2013, se compila y se ejecuta en 2012 (por lo que también podría compilarse en otros IDE, ¡solo probado en SharpDevelop y funciona!). – Val

8

actualización

Como se señaló en los comentarios, versiones del SDK de Windows 7 después de no incluyen las herramientas de construcción. Si desea utilizar las herramientas más recientes de Microsoft, debe instalar Visual Studio. Una vez instalado, puede usar las herramientas desde la línea de comandos.

Por el momento, las versiones gratuitas son las versiones "comunitarias", p. Microsoft Visual Studio Community 2015.

Puede seguir para desarrollar aplicaciones para Windows 7 y versiones anteriores (y que se ejecutará en versiones posteriores de Windows) utilizando las viejas herramientas de SDK como he descrito antes:

respuesta original

Si Desear desesperadamente evitar Visual Studio, descargar e instalar el Windows SDK. Esto contiene (más o menos) las mismas herramientas de compilación que Visual Studio.

A continuación, ejecute el símbolo del sistema de Windows SDK (que encontrará en el menú de inicio en SDK de Microsoft Windows) para configurar la ruta para que apunte a las herramientas, y usted está configurado.

O simplemente use Visual C++ Express.

+1

¿Cuál es el tamaño de descarga (tamaño real, no 500 KB enumerados en la página vinculada)? ¿Qué versión de cl.exe está incluida? - hasta 600 MB (descarga de ISO) y VS 2010. Estas son las notas de la versión http://download.microsoft.com/download/E/0/3/E03C84A2-C25B-429F-B018-0C8B8B0C5009/ReleaseNotes_Win7_1RTMSDK.Htm – osgx

+1

@osgx: tengo 7.1 SDK y VC++ 2010 Express instalados. Ambos tienen la versión cl.exe 16.00.30319.01. La descarga para el SDK fue grande, pero no pude decirle el tamaño exacto. Los 600MB mencionados en las notas de la versión son plausibles. – arx

+1

Windows 8 SDK ya no incluye un entorno de compilación de línea de comandos. http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx – mcmillab

2

Debe averiguar dónde está instalado NVIDIA GPU Computing Toolkit. En mi sistema está en "C: \ Archivos de programa \ NVIDIA GPU Computing Toolkit \ CUDA \ v4.0 \ bin \ nvcc.exe" Entonces

  1. "Editar variables de entorno" en Windows.
  2. Haga clic en Nuevo ...
  3. Nombre de la variable: NVCC Variable Valor: C: \ Archivos de programa \ NVIDIA GPU Computing Toolkit \ CUDA \ v4.0 \ bin \ nvcc.exe
  4. Haga clic en OK.
+2

¿Y qué haces con el compilador de host faltante? – talonmies

+0

@Jay, lo hice pero el error permanece. –

+0

@talonmies en realidad he instalado Visual Studio en Windows, así que tengo los compiladores de host. – nouveau

2

añadir esta opción a NVCC

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

yo uso VS2012 y mi dir cl.exe está aquí.

Cuestiones relacionadas