2012-02-06 12 views
6

Estoy intentando usar el código ICU con el enlazador MSVC. Sin embargo, al iniciar Cygwin, coloca/usr/local/bin y/usr/bin delante de la ruta, haciendo que link.exe llame siempre a la versión de Cygwin, en lugar de a la versión de MSVC. ¿Cómo puedo solucionar este problema de configuración? Actualmente, ejecuto el símbolo del sistema VS, luego ejecuto cygwin.bat.

/usr/local/bin:/usr/bin:/cygdrive/C/Archivos de programa (x86)/Microsoft F #/v4.0:/cygdr ive/C/Archivos de programa (x86)/Microsoft Visual Studio 10.0/VSTSDB/Implementación:/cygdrive/c/Archivos de programa (x86)/Microsoft Visual Studio 10.0/Common7/IDE:/cygdrive/c/Archivos de programa (x86)/Microsoft Visual Studio 10.0/VC/BIN :/cygdrive/c/Archivos de programa (x86)/Microsoft Visual Studio 10.0/Common7/Tools: /cygdrive/c/Windows/Microsoft.NET/F ramework/v4.0.30319:/cygdrive/c/Windows/Microsoft. NET/Framework/v3.5:/cygdrive/c/Archivos de programa (x86)/Microsoft Visual Studio 10.0/VC/VCPackages:/cygdrive/c/Archivos de programa (x86)/HTML Taller de ayuda:/cygdrive/c/Archivos de programa (x86)/Microsoft Visual Studio 10.0/Herramientas del equipo/Herramientas de rendimiento:/cygdrive/c/Archivos de programa (x86)/Mic rosoft SDKs/Windows/v7.0A/bin/NETFX 4.0 Herramientas:/cygdrive/c/Program Archivos (x86)/Mi crosoft SDKs/Windows/v7.0A/bin:/cygdrive/c/Program Archivos/Archivos comunes/Microsoft Shared/Windows En vivo:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c /Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygd rive/c/Archivos de programa (x86)/Microsoft SQL Servidor/100/Herramientas/Binn:/cygdrive/c/Progr am Files/Microsoft SQL Servidor/100/Herramientas/Binn:/cygdrive/c/Archivos de programa/Microsoft SQL Servidor/100/DTS/Binn:/cygdrive/c/Archivos de programa (x86)/Microsoft ASP.NET/ASP.N ET Páginas web/v1 .0:/cygdrive/c/Program Archivos/TortoiseHg:/cygdrive/c/Archivos de programa (x86) /GtkSharp/2.12/bin:/cygdrive/c/Users/tim/AppData/Roaming/npm:/cygdrive/ c/P rograma Files (x86)/nodejs:/cygdrive/c/archivos de programa (x86)/Common archivos/Intuit/QB POSSDKRuntime:/cygdrive/c/archivos de programa (x86)/Git/cmd

UCI me dice que

Asegúrese de que el fin del camino es MSVC, Cygwin, y luego otros caminos. El script de configuración necesita ciertas herramientas en Cygwin (por ejemplo, grep).

Actualizar. Mi cygwin.bat se ve así:

@echo off

C: chdir C: \ cygwin \ bin

fiesta de -i --login

No muy útil .

+0

¿Su archivo 'cygwin.bat' establece la variable de entorno' PATH'? – sarnold

+1

Esto realmente debería estar en superuser.com, pero eche un vistazo al archivo .bash_profile en su directorio de inicio. Es muy probable que tu ruta esté allí y deberías poder modificarla. –

+0

Hmm, también lo miré, pero todo lo que tengo es si [-f "$ {HOME} /. Bashrc"]; entonces fuente "$ {HOME} /. bashrc" fi y .bashrc tampoco tiene demasiado. ¿Hay algún perfil predeterminado que prepene/usr/local/bin que pueda agregar? – tofutim

Respuesta

7

Para una instalación predeterminada de Cygwin, la RUTA se establece es/etc/profile. Puede modificar PATH para que se agregue/usr/local/bin:/usr/bin en lugar de agregarse.

# PATH="/usr/local/bin:/usr/bin:${PATH}" 
PATH="${PATH}:/usr/local/bin:/usr/bin/" 

El resultado es:

Setting environment for using Microsoft Visual Studio 2010 x86 tools. 

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>c:\cygwin\cygwin.bat 

[email protected] ~ 
$ printenv PATH 
/cygdrive/c/Program Files (x86)/Microsoft F#/v4.0:/cygdrive/c/Program Files (x86 
)/Microsoft Visual Studio 10.0/VSTSDB/Deploy:/cygdrive/c/Program Files (x86)/Mic 
rosoft Visual Studio 10.0/Common7/IDE:/cygdrive/c/Program Files (x86)/Microsoft 
Visual Studio 10.0/VC/BIN:/cygdrive/c/Program Files (x86)/Microsoft Visual Studi 
o 10.0/Common7/Tools:/cygdrive/c/Windows/Microsoft.NET/Framework/v4.0.30319:/cyg 
drive/c/Windows/Microsoft.NET/Framework/v3.5:/cygdrive/c/Program Files (x86)/Mic 
rosoft Visual Studio 10.0/VC/VCPackages:/cygdrive/c/Program Files (x86)/HTML Hel 
p Workshop:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Team Too 
ls/Performance Tools:/cygdrive/c/Program Files (x86)/Microsoft SDKs/Windows/v7.0 
A/bin/NETFX 4.0 Tools:/cygdrive/c/Program Files (x86)/Microsoft SDKs/Windows/v7. 
0A/bin:/cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live:/cyg 
drive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/ 
cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x8 
6)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL S 
erver/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn 
:/cygdrive/c/Program Files (x86)/Microsoft ASP.NET/ASP.NET Web Pages/v1.0:/cygdr 
ive/c/Program Files/TortoiseHg:/cygdrive/c/Program Files (x86)/GtkSharp/2.12/bin 
:/cygdrive/c/Users/tim/AppData/Roaming/npm:/cygdrive/c/Program Files (x86)/nodej 
s:/cygdrive/c/Program Files (x86)/Common Files/Intuit/QBPOSSDKRuntime:/cygdrive/ 
c/Program Files (x86)/Git/cmd:/usr/local/bin:/usr/bin/ 

[email protected] ~ 
$ which link 
/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/BIN/link 
+0

Gracias, eso también respondió mi pregunta ... –

+0

Me encanta cuando vuelvo a la pregunta que hice y respondí. – tofutim

3

Creo que un método mejor es utilizar la variable ORIGINAL_PATH que se crea en Cygwin de /etc/profile. En lugar de modificar este archivo, modifique su archivo .bashrc para usar ORIGINAL_PATH y luego anexe /usr/local/bin y /usr/bin.

.bashrc:

export PATH=$ORIGINAL_PATH:/usr/local/bin:/usr/bin 

entonces no tiene que modificar los archivos de instalación de Cygwin.

+1

Esta es de hecho una forma más limpia de hacerlo, sin modificar '/ etc/profile' (evitando así futuras actualizaciones). Sin embargo, solo ha sido posible desde la versión 4.1-3 de 'base-utils' (lanzada después de que esta pregunta fue hecha originalmente). Además, las variables de entorno no deberían establecerse en '.bashrc': use' .bash_profile' o '.profile' para establecer las variables de entorno en el (los) shell (es) de inicio de sesión. –

Cuestiones relacionadas