2010-06-15 2 views
6

두 버전의 GCC가 공존 할 수 있습니다 : 기본 Windows MinGW 버전과 Cygwin Linux 버전? Cygwin에서 MinGW 버전의 GCC로 시스템을 컴파일하려고하면 문제가 발생합니다. 그 반대의 경우도 마찬가지입니다. 두 버전의 GCC를 모두 유지하려면 어떻게해야합니까?Cygwin에서 GCC와 MinGW를 공존시키기

답변

3

심령 디버깅을 사용하면 글로벌 경로에 하나 또는 둘 다 있음을 알 수 있습니다. 전역 경로 (gcc가 "잘못된 명령 또는 파일 이름"또는 유사한 것을 cmd.exe에서 직접 실행해야 함)를 모두 가져 와서 각각에 대해 적절한 환경을로드하도록 바로 가기를 설정하십시오.

4

나는 둘 다 평화적으로 설치되어 공존하고 있습니다. Cygwin은 MinGW가 c : \ msys \ mingw에 설치되어있는 동안 c : \ cygwin에 설치됩니다. 환경을 각각의 시작 단축키로 설정했기 때문에 공존 할 수있는 특별한 작업을 수행 할 필요가 없었습니다.

설치 과정에서 특정 방법으로 결합해야하는 단계가 있어야합니다. 설치 순서 및 위치를 설명하면 다른 사람이 추가 조언을 제공 할 수 있습니다.

4

내가 그들을 구분하는 방법은 기본적으로 Cygwin 환경을 독점적으로 사용하는 것입니다. MinGW 물건은 내 기본 PATH에 없으며 MSYS 프로그램을 사용하지 않습니다. 매일 매일 MinGW를 설치했다고 말할 수는 없습니다.

#!/bin/sh 
PATH=/cygpath/c/mingw/bin:/cygpath/c/windows/system32:/cygpath/c/cygwin/bin 
echo "Say 'exit' to leave MinGW shell and restore Cygwin environment." 
/usr/bin/bash --rcfile ~/.mingwrc 

는 PATH가 맛 조정 : 내가는 MinGW 뭔가를 테스트해야하는 드문 경우에

, 나는 내가 mingw 전화 프롬프트 Cygwin에서 배쉬에서이 쉘 스크립트를 실행합니다. 그것에 관한 유일한 중요한 점은 MinGW bin 디렉토리를 Cygwin bin 디렉토리보다 우선한다는 것입니다.

alias make=mingw32-make 
PS1='MinGW: \W \$ ' 

당신은이 두 개의 스크립트로 인해 결합 할 수 없습니다 : 당신은 아마 아직도 그 스크립트의 마지막 줄이 스크립트, ~/.mingwrc를 실행하는 등

VI, LS, 경로의 Cygwin에서 bin 디렉토리를 원하는 배쉬가 일하는 방식에. 두 번째 스크립트에는 "MinGW shell"이 실행 된 후에 만 ​​발생할 수있는 내용이 포함되어 있습니다. PS1 할당은 MinGW 쉘에 있음을 알리고 별칭은 MinGW Makefiles가 Bourne 쉘 명령이 아닌 DOS 명령을 사용하기 때문에 Cygwin 대신 MinGW 자신의 make (1) 프로그램을 "make"타이핑하는 것을 보장합니다. GNU make의 MinGW 포트의 차이점 중 하나입니다. Cygwin에서 MinGW 컴파일러를 사용하려면 별칭 행을 남겨 둡니다.

MinGW 하위 셸에서 "종료"하면 이전 PS1, PATH 및 별칭을 복원합니다.

3

전역 경로를 모두 벗어납니다. 다음으로 새 *.cmd 파일을 만듭니다 (예로서 Cygwin에서 소요) : 당신은 확인하기 위해 명령 창에서 path을 입력 할 수 있습니다

@echo off 
rem file: start cmd with cygwin's path 
cmd.exe /k path=C:\cygwin\bin;%path% 

.

이제 cygwin에서 작업 할 수 있습니다. 환경은 cmd.exe 내에서만 유효합니다.

+0

나를위한 최고의 답. – iab