문제

저는 석사 컴퓨터 과학 과정에 등록했습니다. 코스는 C를 사용하고 있으며 강사는 우리가 사용하기를 원합니다. Cygwin Windows를 사용하는 경우 프로그램을 컴파일합니다.

다운로드 및 설치했습니다 Cygwin 그리고 나는 내가 설치했는지 확인했다 GCC 컴파일러.

하지만 여기서 어디로 가야할지 모르겠습니다. 기본 포함 된 단일 소스 파일을 컴파일해야합니다.

#include <stdio.h> 

파일이 내 데스크탑에 있다고 가정하자 (인수가 아니라 논쟁을 위해). 배쉬 쉘에서 데스크탑으로 어떻게 이동합니까? Bash의 올바른 위치로 탐색 한 후에는 간단히 실행합니다.

gcc myProgram.c -o myProgram

업데이트: 아래에 게시 된 다른 지침에 따라 프로그램을 편집 할 수있었습니다. 감사합니다. 그러나 결과 바이너리를 실행하면 다음을 얻습니다. 오류가 발생하지 않도록이 프로그램을 컴파일하거나 실행하려면 어떻게해야합니까? 다시, 감사합니다.

This application has failed to start because cygwin1.dll was not found. Re-installing the application may fix this problem.

도움이 되었습니까?

해결책

Cygwin에서 시작하면 일반적으로 Unix와 같이 $ home에 있습니다. 이것은 기본적으로 c :/cygwin/home/$ yourname에 맵핑됩니다. 그래서 당신은 모든 것을 거기에 넣을 수 있습니다.

Cygwin에서/Cygdrive/C/(예 :/Cygdrive/C/Documents ANB 설정/YourName/Desktop)에서 C : 드라이브에 액세스 할 수 있습니다.

다른 팁

귀하의 업데이트 된 질문에 대해 Cygwin1.dll 누락.

Cygwin 터미널 점검에서

ls /usr/bin/cygwin1.dll

그것이 존재하지 않는 경우 (의심의 여지가 있다면) 설치가 제대로 완료되지 않았습니다.

그런 다음 경로를 확인하고

echo $PATH

이것은 줄 것입니다 : 분리 된 경로 목록. 포함해야합니다 /usr/bin. 누락 된 것을 발견하면 추가하고

export PATH=/usr/bin:$PATH

드디어,

  • Cygwin 터미널 (Cygwin과 함께 설치된 Little Green+Black 아이콘) 또는 Mintty (설치 한 경우)에서 Cygwin을 사용하기를 바랍니다.
  • 그리고 컴파일 된 EXE를 Cygwin이 설치되지 않은 다른 기계로 옮기지 않았습니다 (그렇게하면 Cygwin1.dll을 해당 컴퓨터에 전달해야합니다. 컴파일 된 EXE와 동일한 폴더에 보관하십시오). .

찾으십시오 (즉, cd 에게)

/cygdrive/c/

그것은 보통 당신이 될 것입니다 C:\


또한보십시오 Cygwin 사용,, Lifehacker 소개 (2006 년 6 월/2006)Physionet의 Biomed Page.

에 대해 cygwin1.dll 찾을 수 없음 오류, 8 년 이상 사용한 솔루션은 Cygwin bin 디렉토리를 내 끝에 추가하는 것입니다. %PATH% 내 컴퓨터에서 -> 속성 -> 고급 -> 환경 변수. 나는 경로 끝에 그것들을 추가하여 정상적인 작업에서 그들은 마지막으로 검색되어 갈등의 가능성을 최소화합니다 (사실, 나는이 시간에 갈등에 아무런 문제가 없었습니다).

Cygwin Bash Shell을 호출하면 해당 디렉토리는 %PATH% 따라서 모든 것이 그 환경에서도 의도 된대로 작동합니다.

Cygwin Shell에서 달리지 않을 때 %PATH% 이다:

Path=c:\opt\perl\bin; \
     ...
     C:\opt\cygwin\bin; \
     C:\opt\cygwin\usr\bin; \
     C:\opt\cygwin\usr\local\bin;

예를 들어, 이러한 방식으로, Cygwin 쉘에 있지 않을 때 Perl의 Perl이 먼저 발견되지만 Cygwin Shell에서 작업 할 때 Cygwin Perl이 발견됩니다.

요약하면, Cygwin 및 Windows Vista를 사용하여 디렉토리로 이동하고 코드를 컴파일하는 몇 가지 명령이 있습니다.

  1. Cygwin 쉘을 시작하십시오.
  2. 프롬프트에서 사용하십시오 cd 적절한 디렉토리로 변경하려면 :

    $ cd/cygdrive/c/users/nate/gooktop

  3. 사용 ls 디렉토리에 파일을 나열하려면 :

    $ ls

    prog.c

  4. 사용 gcc 이 디렉토리에서 파일을 컴파일하려면 명령 :

    $ gcc prog.c -o prog

  5. 오류가 표시되지 않으면 결과 프로그램을 실행할 수 있어야합니다.

    $ ./Prog

업데이트:

""Cygwin1.dll not found"오류, 나는 Nik의 대답이 마음에 듭니다. 당신은 또한 체크 아웃 할 수도 있습니다. cygwin1.dll에 대한이 관련 게시물은 찾을 수 없습니다, 이는 추가를 제안합니다 c:\cygwin\bin\ 당신의 Windows 경로에.

거기 있습니다 Windows 경로 변수를 변경하는 방법에 대한 지침 Windows XP와 Vista에서는 비슷하다고 생각합니다.

  1. 제어판 -> 시스템으로 이동하십시오
  2. 고르다 고급 시스템 설정
  3. 클릭하십시오 고급의
  4. 클릭 환경 변수
  5. 아래에 시스템 변수, 찾기 입력 및 클릭 편집하다
  6. 추가하다 c:\cygwin\bin 목록으로, 세미콜론으로 이전 항목과 분리해야합니다.

Bash에 익숙하지 않은 경우 표준 Windows 명령 (예 : DOS) 쉘에서 계속 작업 할 수 있습니다.

이것이 작동하려면 Windows 경로 변수에 C : Cygwin bin (또는 로컬 대안)을 추가해야합니다.

이 작업을 수행하면 1) 명령 (DOS) 쉘 2) 디렉토리를 코드 위치 (C :, 다음 CD 경로 to 파일)로 변경하십시오. 3) GCC MyProgram.c -O MyProgram

Nik의 응답에서 언급했듯이 "Cygwin 사용"문서는 자세한 내용을 배울 수있는 좋은 장소입니다.

Windows 경로 C:\src Cygwin 아래에 있습니다 /cygdrive/c/src

GCC 프로그램 만 수행하는 경우 C -O 프로그램 -Mno -Cygwin은 잘 컴파일하고 Cygwin1.dll을 경로에 추가 할 필요가 없으며 계속 진행하여 실행 파일을 컴퓨터에 배포 할 수 있습니다. t Cygwin이 설치되어 있으며 여전히 실행됩니다. 도움이 되었기를 바랍니다

Cygwin을 사용하여 C 프로그램을 컴파일합니다

Cygwin의 GCC 컴파일러를 사용하여 프로그램을 컴파일 할 것입니다.

1) Cygwin을 발사하십시오

2) 입력 하여이 클래스를 위해 만든 디렉토리로 변경

CD C :/Windows/Desktop

3) 입력하여 프로그램을 컴파일하십시오

gcc myprogram.c -o myprogram

GCC 명령은 GCC 컴파일러를 호출하여 C 프로그램을 컴파일합니다.

Cygwin Shell 내부의 파일을 편집하는 것이 좋습니다. 일반적으로 시작하면 기본 사용자 디렉토리가 있습니다. "vi somefile.c"또는 "emacs godefile.c"와 같은 것을 수행하는 쉘에서 파일을 편집 할 수 있습니다. VI 또는 EMAC가 Cygwin에 설치되어 있다고 가정합니다.

데스크탑에 제출하려면 "/cygwindrive/c/documents 및 settings/frank/desktop"과 유사한 경로로 이동해야합니다 (메모리가 올바르게 제공되는 경우). 그 경로로 CD 만하고 파일에서 명령을 실행하십시오.

Cygwin은 매우 시원합니다! 다른 시스템 (예 : Linux)에서 프로그램을 컴파일 할 수 있습니다. 그리고 그들은 일할 것입니다. 커뮤니케이션 프로그램이나 웹 서버도 이야기하고 있습니다.

여기에 하나의 트릭이 있습니다. Windows 파일 탐색기에서 파일을보고 있다면 Bash Windows에 "CD"를 입력 한 다음 Explorer의 주소 표시 줄에서 Cygwin 창으로 드래그하면 전체 경로가 복사됩니다! 그런데 이것은 Windows 명령 쉘에서도 작동합니다.

또한 : "CD /Cygdrive /C"는 공식적인 경로이지만 "CD C :"도 바로 가기로 허용됩니다. 나머지 경로를 끌기 전에이 작업을 수행해야 할 수도 있습니다.

stdio.h 파일은 기존 시스템에서와 같이 자동으로 찾아야합니다.

이 파일 (cygwin1.dll)은 QT 종속성과 유사한 cygwin 종속성입니다. "cygwin/bin"에서 프로그램 폴더에 이르기까지 해당 메시지 오류에 나타나는이 파일을 복사해야합니다. Cygwin이없는 다른 컴퓨터!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top