2008-12-02 5 views
12

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

Каков путь прохождения этого пути для MSBUild?

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

+0

С Visual 2010 все работает как можно скорее, так как используются каталоги свойств пользователя. Нет необходимости использовать переменные окружения – CharlesB 2010-11-17 14:58:26

+1

Для последней версии VS2013 см. Мой ответ в теме: http://stackoverflow.com/questions/15654002/adding-additional-library-and-include-paths-when-compiling- from-command-line/28103688 # 28103688 – zhifac 2015-01-23 05:45:15

ответ

13

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

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

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

Или, вы можете запустить MSBuild из сЕРИЙНОГО сценария, в этом случае, прежде чем вызывать MSBuild, вы можете установить INCLUDE и LIB переменные, например так:

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

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

set INCLUDE=C:\Libraries\LibA\Include;%INCLUDE% 
set LIB=C:\Libraries\LibA\Lib\x86;%LIB% 
Смежные вопросы