как установить каталоги MSBuild VC ++ - PullRequest
12 голосов
/ 02 декабря 2008

У меня есть решение смешанных проектов VB.NET и C ++. При использовании Visual Studio 2005 вы можете установить «Инструменты-> Параметры-> Проекты и решения-> Каталоги VC ++», чтобы помочь компилятору найти ваши включаемые файлы. При создании того же решения с MSBuild я не вижу, как передать эти параметры. C ++ не будет компилироваться без указания этого пути. При построении этого решения из Visual Studio оно идеально собирается.

Как пройти этот путь для MSBUild?

Edit: похоже, что MSBuild не передает путь (или ключ / u) в vcbuild. Начиная с VCBuild, вместо этого происходит сбой в зависимости.

Ответы [ 3 ]

13 голосов
/ 02 декабря 2008

Чтобы установить включаемые каталоги, вы можете добавить их в переменную среды INCLUDE. Вы используете тот же формат, что и в PATH env. переменная - вы разделяете пути точкой с запятой.

Чтобы установить каталоги библиотеки - вы можете сделать это аналогичным образом, поместив их в переменную среды LIB.

Чтобы установить переменные среды, просто щелкните правой кнопкой мыши «Мой компьютер», выберите «Свойства». Затем вы переходите на вкладку «Дополнительно», и есть кнопка «Переменные среды».

Или вы можете запустить MSBuild из сценария BATCH, и в этом случае перед вызовом MSBuild вы можете установить переменные INCLUDE и LIB следующим образом:

set INCLUDE=C:\Libraries\LibA\Include
set LIB=C:\Libraries\LibA\Lib\x86
4 голосов
/ 28 ноября 2013

Вы можете использовать /p[roperty]:useenv=true, чтобы пересылать переменные среды в новых версиях MSBuild. Полный текст статьи здесь http://blogs.msdn.com/b/vcblog/archive/2010/01/11/vcbuild-vs-c-msbuild-on-the-command-line.aspx

4 голосов
/ 16 ноября 2010

... а также вы можете добавить% INCLUDE% и% LIB% к вашим переменным, чтобы избежать их перезаписи

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