Форум программистов, компьютерный форум CyberForum.ru

Запуск VS с заданным INCLUDE - C++

Восстановить пароль Регистрация
 
vezde-smirno
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 30
27.03.2014, 22:52     Запуск VS с заданным INCLUDE #1
Нужно запустить VisualStudio c заданными переменными окружения MY_LIB MY_INCLUDE, значение которых определяется параметрами командной строки. Как это сделать - представления не имею
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dragokas
Автор FAQ
 Аватар для Dragokas
14523 / 6350 / 785
Регистрация: 25.12.2011
Сообщений: 9,885
Записей в блоге: 14
28.03.2014, 20:58     Запуск VS с заданным INCLUDE #2
Вот как это делает Microsoft Corporation для командной строки.

Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
@echo Setting environment for using Microsoft Visual Studio 2010 x86 tools.
 
@call :GetVSCommonToolsDir
@if "%VS100COMNTOOLS%"=="" goto error_no_VS100COMNTOOLSDIR
 
@call "%VS100COMNTOOLS%VCVarsQueryRegistry.bat" 32bit No64bit
 
@if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR
@if "%FrameworkDir32%"=="" goto error_no_FrameworkDIR32
@if "%FrameworkVersion32%"=="" goto error_no_FrameworkVer32
@if "%Framework35Version%"=="" goto error_no_Framework35Version
 
@set FrameworkDir=%FrameworkDir32%
@set FrameworkVersion=%FrameworkVersion32%
 
@if not "%WindowsSdkDir%" == "" (
    @set "PATH=%WindowsSdkDir%bin\NETFX 4.0 Tools;%WindowsSdkDir%bin;%PATH%"
    @set "INCLUDE=%WindowsSdkDir%include;%INCLUDE%"
    @set "LIB=%WindowsSdkDir%lib;%LIB%"
)
 
@rem
@rem Root of Visual Studio IDE installed files.
@rem
@set DevEnvDir=%VSINSTALLDIR%Common7\IDE\
 
@rem PATH
@rem ----
@if exist "%VSINSTALLDIR%Team Tools\Performance Tools" (
    @set "PATH=%VSINSTALLDIR%Team Tools\Performance Tools;%PATH%"
)
@if exist "%ProgramFiles%\HTML Help Workshop" set PATH=%ProgramFiles%\HTML Help Workshop;%PATH%
@if exist "%ProgramFiles(x86)%\HTML Help Workshop" set PATH=%ProgramFiles(x86)%\HTML Help Workshop;%PATH%
@if exist "%VCINSTALLDIR%VCPackages" set PATH=%VCINSTALLDIR%VCPackages;%PATH%
@set PATH=%FrameworkDir%%Framework35Version%;%PATH%
@set PATH=%FrameworkDir%%FrameworkVersion%;%PATH%
@set PATH=%VSINSTALLDIR%Common7\Tools;%PATH%
@if exist "%VCINSTALLDIR%BIN" set PATH=%VCINSTALLDIR%BIN;%PATH%
@set PATH=%DevEnvDir%;%PATH%
 
@if exist "%VSINSTALLDIR%VSTSDB\Deploy" (
    @set "PATH=%VSINSTALLDIR%VSTSDB\Deploy;%PATH%"
)
 
@if not "%FSHARPINSTALLDIR%" == "" (
    @set "PATH=%FSHARPINSTALLDIR%;%PATH%"
)
 
@rem INCLUDE
@rem -------
@if exist "%VCINSTALLDIR%ATLMFC\INCLUDE" set INCLUDE=%VCINSTALLDIR%ATLMFC\INCLUDE;%INCLUDE%
@if exist "%VCINSTALLDIR%INCLUDE" set INCLUDE=%VCINSTALLDIR%INCLUDE;%INCLUDE%
 
@rem LIB
@rem ---
@if exist "%VCINSTALLDIR%ATLMFC\LIB" set LIB=%VCINSTALLDIR%ATLMFC\LIB;%LIB%
@if exist "%VCINSTALLDIR%LIB" set LIB=%VCINSTALLDIR%LIB;%LIB%
 
@rem LIBPATH
@rem -------
@if exist "%VCINSTALLDIR%ATLMFC\LIB" set LIBPATH=%VCINSTALLDIR%ATLMFC\LIB;%LIBPATH%
@if exist "%VCINSTALLDIR%LIB" set LIBPATH=%VCINSTALLDIR%LIB;%LIBPATH%
@set LIBPATH=%FrameworkDir%%Framework35Version%;%LIBPATH%
@set LIBPATH=%FrameworkDir%%FrameworkVersion%;%LIBPATH%
 
@goto end
 
@REM -----------------------------------------------------------------------
:GetVSCommonToolsDir
@set VS100COMNTOOLS=
@call :GetVSCommonToolsDirHelper32 HKLM > nul 2>&1
@if errorlevel 1 call :GetVSCommonToolsDirHelper32 HKCU > nul 2>&1
@if errorlevel 1 call :GetVSCommonToolsDirHelper64  HKLM > nul 2>&1
@if errorlevel 1 call :GetVSCommonToolsDirHelper64  HKCU > nul 2>&1
@exit /B 0
 
:GetVSCommonToolsDirHelper32
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
    @if "%%i"=="10.0" (
        @SET "VS100COMNTOOLS=%%k"
    )
)
@if "%VS100COMNTOOLS%"=="" exit /B 1
@SET "VS100COMNTOOLS=%VS100COMNTOOLS%Common7\Tools\"
@exit /B 0
 
:GetVSCommonToolsDirHelper64
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7" /v "10.0"') DO (
    @if "%%i"=="10.0" (
        @SET "VS100COMNTOOLS=%%k"
    )
)
@if "%VS100COMNTOOLS%"=="" exit /B 1
@SET "VS100COMNTOOLS=%VS100COMNTOOLS%Common7\Tools\"
@exit /B 0
 
@REM -----------------------------------------------------------------------
:error_no_VS100COMNTOOLSDIR
@echo ERROR: Cannot determine the location of the VS Common Tools folder.
@goto end
 
:error_no_VSINSTALLDIR
@echo ERROR: Cannot determine the location of the VS installation.
@goto end
 
:error_no_FrameworkDIR32
@echo ERROR: Cannot determine the location of the .NET Framework 32bit installation.
@goto end
 
:error_no_FrameworkVer32
@echo ERROR: Cannot determine the version of the .NET Framework 32bit installation.
@goto end
 
:error_no_Framework35Version
@echo ERROR: Cannot determine the .NET Framework 3.5 version.
@goto end
 
:end


В помощь MSDN.

В ОС >= Vista можно попробовать задать через
Bash
1
2
setx LIB c:\lib
setx INCLUDE c:\include
Вообще, для каждого проекта инклуды свои, наследуются от шаблона.

Перемещу в плюсы, там больше толковых ребят.
vezde-smirno
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 30
14.04.2014, 21:55  [ТС]     Запуск VS с заданным INCLUDE #3
вот это да. я не думал, что так сложно будет! спасибо, конечно, но это я вряд ли смогу объяснить преподавателю)
Dragokas
Автор FAQ
 Аватар для Dragokas
14523 / 6350 / 785
Регистрация: 25.12.2011
Сообщений: 9,885
Записей в блоге: 14
14.04.2014, 22:09     Запуск VS с заданным INCLUDE #4
Что именно сложно?
Как работает команда set и команда if ?

Ctrl + F -> include

MS-батник анализируется в пару минут благодаря интуитивно понятным именам переменных.

Вообще по заданию не понятно, что подразумевается под MY_LIB MY_INCLUDE. Если это пользовательские переменные, то как я писал выше, это через setx или добавление в Path можно сделать.

Что-то из местных спецов никто не отвечает.
Yandex
Объявления
14.04.2014, 22:09     Запуск VS с заданным INCLUDE
Ответ Создать тему
Опции темы

Текущее время: 21:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru