VC Command Prompt

5 views
Skip to first unread message

Marcin 'Malcom' Malich

unread,
May 22, 2009, 9:36:58 AM5/22/09
to
Witam,

Dosyc czesto uzywam toolsow z VC/VS spod lini polecen, nmake, cl
etc...
Mam maly problem, standardowo przy odpalaniu VS Command Prompt,
wykonywany jest skrypt vcvarsall.bat, ktory ustawia srodowisko, czyli
odpowiednie zmienne, sciezki. Wszystko fajnie, ale przy ustawianiach
sciezek do naglowkow i bibliotek nie sa brane pod uwage pozycje
zapisane w ustawieniach IDE, jedynie skrypt ustawia standardowe pathe
do standardowych naglowkow i bibliotek, ewnetualnie do PSDK.

Nie chce uzalezniac makefilsa od tych sciezek, ani dodawac dodatkowych
zmiennych ze sciezkami.
Nie chce tez przy kazdym budowaniu makefilsa specyfikowac sciezek.
Nie chce rozniez pakowac tych sciezek do zmiennych globalnych... wtedy
bedzie problem synchronizacji sciezek w IDE i zmiennych
srodowiskowych.

Chyba pozostaje mi napsianie skryptu, ktory bedzie wycigal ustawione w
IDE sciezki i dodawal je do zmiennych ustawionych przez vcvarsall.bat.

Ktos ma jakies ciekawe rozwiazanie tego problemu?

--
Pozdrowienia,
Marcin 'Malcom' Malich
m...@malcom.pl
http://malcom.pl

arturbac

unread,
May 22, 2009, 10:00:31 AM5/22/09
to
Marcin 'Malcom' Malich pisze:

CMake & -G <generator-name>

Dla generatorow Visual* wygeneruje ci projekty wiec wysatrczy odpalic
msbuild i on uzyje wartosci z VS sciezek.
Dla generatora nmake musialbys sprawdzic ale chyba powinien tak mi sie
zdaje.


NMake Makefiles = Generates NMake makefiles.
Visual Studio 6 = Generates Visual Studio 6 project files.
Visual Studio 7 = Generates Visual Studio .NET 2002 project
files.
Visual Studio 7 .NET 2003 = Generates Visual Studio .NET 2003 project
files.
Visual Studio 8 2005 = Generates Visual Studio .NET 2005 project
files.
Visual Studio 8 2005 Win64 = Generates Visual Studio .NET 2005 Win64
project files.
Visual Studio 9 2008 = Generates Visual Studio 9 2008 project
files.
Visual Studio 9 2008 Win64 = Generates Visual Studio 9 2008 Win64
project

A.

Marcin 'Malcom' Malich

unread,
May 22, 2009, 10:17:37 AM5/22/09
to
On 22 Maj, 16:00, arturbac <artur_no_spam@no_spam.ebasoft.com.pl>
wrote:

> CMake & -G <generator-name>
>
> Dla generatorow Visual* wygeneruje ci projekty wiec wysatrczy odpalic
> msbuild i on uzyje wartosci z VS sciezek.

Uzywam bakefilsow i generuje pliki projektow i makefile, ale to tutaj
bez znaczenia.
Preferowalbym nmake, ale moze czas przerzucic sie na msbuild.

> Dla generatora nmake musialbys sprawdzic ale chyba powinien tak mi sie
> zdaje.

No wlasnie nmake, cl uzywa tych srodowiskowych zmiennych, czyli
domyslnie tylko tych standardowych.

devenv ma opcje useenv:
/useenv Use PATH, INCLUDE, LIBPATH, and LIB environment
variables
instead of IDE paths for VC++ builds.

Szkoda ze nie ma czegos w druga strone :/

Kombinuje z tym skryptem, ale config vs jest (chyba) w binarnych
plikach, a eksport ustawien nie bardzo chce wyeksportowac ustawione
tam sciezki, wywala tylko domyslne...

arturbac

unread,
May 22, 2009, 10:41:40 AM5/22/09
to
Marcin 'Malcom' Malich pisze:

Domyslny gdy dany sdk/platforma jest pierwszy raz instalowana w vs jest w:
Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\
w plikach *.config

Jak zmienisz w VS to jest w rejestrze albo kopiach tych plikow w
documents & settings , muszisz poszukac, jesli w reg to jesli SDK moze
sie pobeirac z rejestru w vcvars to ty reszte tez mozesz:

:GetWindowsSdkDir
@call :GetWindowsSdkDirHelper HKLM > nul 2>&1
@if errorlevel 1 call :GetWindowsSdkDirHelper HKCU > nul 2>&1
@if errorlevel 1 set WindowsSdkDir=%VCINSTALLDIR%\PlatformSDK\
@exit /B 0

:GetWindowsSdkDirHelper
@for /F "tokens=1,2*" %%i in ('reg query
"%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows" /v
"CurrentInstallFolder"') DO (
if "%%i"=="CurrentInstallFolder" (
SET "WindowsSdkDir=%%k"
)
)
@if "%WindowsSdkDir%"=="" exit /B 1
@exit /B 0

Marcin 'Malcom' Malich

unread,
May 23, 2009, 10:59:08 AM5/23/09
to
On 22 Maj, 16:41, arturbac <artur_no_spam@no_spam.ebasoft.com.pl>
wrote:

>
> Domyslny gdy dany sdk/platforma jest pierwszy raz instalowana w vs jest w:
> Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\
> w plikach *.config
>
> Jak zmienisz w VS to jest w rejestrze albo kopiach tych plikow w
> documents & settings , muszisz poszukac, jesli w reg to jesli SDK moze
> sie pobeirac z rejestru w vcvars to ty reszte tez mozesz:

Konfiguracja VS jest w plikach prf w %appdata%.

Rozwiazalem problem przez proste makro tworzace plik bat z sciezkami
ustawionymi w IDE przy jego zamykaniu:
http://blog.malcom.pl/2009/05/23/visual-studio-command-prompt/

Reply all
Reply to author
Forward
0 new messages