2012-03-22 21 views
5

¿Alguien sabe cómo utilizar el compilador de línea de comandos ('CL' y 'enlace') en Visual C++ para generar un proyecto? Estamos más acostumbrados a 'hacer' y 'gcc' aquí, pero recientemente nos mudamos a Visual Studio. Supongo que podríamos usar nmake, pero espero obtener información sobre el uso de 'cl' y 'link' (como en la compilación sin un archivo .sln).Compilar en la línea de comandos en Visual C++

algo en la línea de

  1. crear ficheros objeto
  2. archivos objeto de enlace para crear ejecutable

es lo que queremos, pero simplemente parece que no puede hacer que funcione utilizando los parámetros de línea de comando. ¿Ayuda por favor?

+1

¿Qué has intentado? El concepto general es el mismo que gcc, crea archivos de objetos y luego vincúlalos. –

+0

¿Por qué quieres hacer eso? Si necesita acceder a bibliotecas específicas de MSVS, ¿por qué no utilizar el MSVS completo (de todos modos tiene acceso); de lo contrario, podría usar gcc/g ++ (a través de cygwin o mingw) tal como lo haría en el mundo de make/gcc. – Attila

Respuesta

1

Editar: lo siento, no he notado la parte 'sin .sln'. Ignora esta respuesta por favor. Lo dejo en su lugar para otros que realmente lo necesiten pero no es una respuesta a la pregunta original.

Si lo que desea es crear un archivo de solución/proyecto (es decir, la mayor parte de los valores de creación ya están definidos en el archivo de proyecto), puede utilizar devenv.exe para construir la solución/proyecto para usted - este es probablemente el La forma más simple de hacer una compilación desde la línea de comando.

Por ejemplo:

devenv.exe myapp.sln /Rebuild "Release|x64"

limpia & construye la solución myapp.sln en la configuración Release|x64.

Si ejecuta

devenv.exe /?

comando, se le da todas las opciones de línea de comandos. Puede usar devenv para compilar solo un proyecto específico en la solución utilizando el modificador `/ project '.

Si necesita más flexibilidad (y está dispuesto a dedicar mucho tiempo a escribir la secuencia de comandos correcta), puede usar nmake para compilar desde la línea de comandos, pero no lo sé muy bien, así que no puede dar consejos útiles

+3

Dice en cuestión: "como en la compilación sin un archivo .sln" lo que significa que el OP desea compilar algo así como el comando g ++ en el terminal. – Aleks

+0

@ Alek gracias, no me di cuenta de eso. Actualizado. – xxbbcc

3

Como tiendo a decir siempre, cualquier cosa Microsoft relacionados se pueden encontrar en MSDN y un viaje rápido a Google.

cl.exe se documenta aquí: http://msdn.microsoft.com/en-us/library/ms235639%28v=vs.100%29.aspx

Es muy sencillo simplemente entrar en el directorio de cl.exe y escribir en el cmd.

cl.exe /? y luego mostrará una lista de todos los indicadores disponibles.

3

que necesita para obtener 2 archivos en ti Path:

  • vcvarsall.bat
  • cl.exe

vcvarsall.bat es un shellscript que es responsable de determinar en qué arquitectura se está ejecutando e incluye varias carpetas en su ruta que el compilador cl necesita. en mi pc este script reside bajo C: \ Archivos de programa (x86) \ Microsoft Visual Studio 11.0 \ VC

cl.exe es el compilador de sí mismo y en mi pc reside bajo C: \ Archivos de programa (x86) \ Microsoft Visual Studio 11.0 \ VC \ bin

i simplemente declara una variable de entorno VC_HOME: C: \ archivos de programa (x86) \ Microsoft Visual Studio 11.0 \ VC y se incluye en el Camino% VC_HOME%; % VC_HOME% \ bin;

ahora cuando se abre la cubierta, en un primer momento vcvarsall.bat carrera y entonces se puede decir: cl MyProgramm.cpp

Cuestiones relacionadas