2008-12-02 9 views
12

Tengo una solución de proyectos mixtos de VB.NET y C++. Al utilizar Visual Studio 2005, puede configurar "Herramientas-> Opción-> Proyectos y soluciones-> Directorios de VC++" para ayudar al compilador a encontrar sus archivos de inclusión. Al construir la misma solución con MSBuild, no veo cómo pasar estas configuraciones. El C++ no se compilará sin esta ruta especificada. Al construir esta solución de Visual Studio, se construye perfectamente.cómo configurar directorios de MSBuild VC++

¿Cuál es la manera de pasar este camino para MSBUild?

Editar: Parece que MSBuild no pasa la ruta (o el modificador/u) a vcbuild. A partir de VCBuild falla en la dependencia.

+0

Con Visual 2010 las cosas funcionan más de lo esperado ya que se utilizan los directorios de propiedades del usuario. Ya no es necesario utilizar variables de entorno – CharlesB

+1

Para obtener la versión más reciente VS2013, vea mi respuesta en el hilo: http://stackoverflow.com/questions/15654002/adding-additional-library-and-include-paths-when-compiling- from-command-line/28103688 # 28103688 – zhifac

Respuesta

13

Para establecer los directorios de inclusión, puede agregarlos a su variable de entorno INCLUDE. Utiliza el mismo formato que en env PATH. variable: separa las rutas con punto y coma.

Para establecer los directorios de la biblioteca, puede hacerlo de manera similar, colocándolos en su variable de entorno LIB.

Para establecer variables de entorno, simplemente haga clic derecho en "Mi PC", elija "Propiedades". Luego, vaya a la pestaña "Avanzado", y hay un botón llamado "Variables de entorno".

O bien, puede ejecutar MSBuild desde un script por lotes, en cuyo caso, antes de llamar a MSBuild, se puede establecer el INCLUDE y LIB las variables, así:

set INCLUDE=C:\Libraries\LibA\Include 
set LIB=C:\Libraries\LibA\Lib\x86 
+1

Si esto no funciona correctamente, pruebe la solución propuesta por @CharlesB a continuación. – Tibo

+2

Tiene que agregar '/ p:" VCBuildAdditionalOptions =/useenv "' a los argumentos de MSBuild para que tome las variables INCLUDE y LIB. – CharlesB

4

... y también le puede gustar anexar% include% y% LIB% de las variables para evitar sobrescribir de ellos

set INCLUDE=C:\Libraries\LibA\Include;%INCLUDE% 
set LIB=C:\Libraries\LibA\Lib\x86;%LIB% 
Cuestiones relacionadas