Как установить каталоги MSBuild VC++

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

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

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

В Visual 2010 все работает лучше, чем ожидалось, поскольку используются каталоги свойств пользователя. Больше нет необходимости использовать переменные среды

CharlesB 17.11.2010 17:58

Для последней версии VS2013 см. Мой ответ в теме: stackoverflow.com/questions/15654002/…

zhifac 23.01.2015 08:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
12
2
11 849
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

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

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

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

Или вы можете запустить MSBuild из BATCH-скрипта, и в этом случае перед вызовом MSBuild вы можете установить переменные INCLUDE и LIB, например:

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

Если это не сработает, попробуйте исправление, предложенное @CharlesB ниже.

user948581 07.12.2012 20:29

Вы должны добавить /p:"VCBuildAdditionalOptions= /useenv" в аргументы MSBuild, чтобы он принимал переменные INCLUDE и LIB.

CharlesB 10.02.2016 16:53

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

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

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

Другие вопросы по теме