>

Windows 용 Eclipse CDT 개발자 키트 (87MB)를 다운로드했습니다. MinGW 및 msys도 설치했습니다.   또한 이것을 PATH에 추가했습니다 : C : \ msys \ 1.0 \ bin;C : \ mingw \ bin. 그 후 컴퓨터를 다시 시작했습니다. cmd에서 "make --version"유형으로 확인했는데 작동합니다.

그러나 어떤 이유로 든 C 프로젝트를 컴파일 할 수 없습니다. 바이너리 파일을 얻지 못하고 COnsole에서 다음 항목 만 얻습니다.

**** Build of configuration Default for project XXX ****
make all 
make: *** No rule to make target `all'.  Stop.

이것으로 도와주세요.


  • 답변 # 1

    나중에 참조 할 수 있도록 makefile로 기존 프로젝트를 가져 오려는 경우 ...

    makefile에 "all"규칙이없는 경우이 메시지가 계속 나타납니다. "Makefiles 자동 생성"옵션을 사용하면이를 자동으로 처리해야합니다. 메이크 파일을 만들지 않으려면 최소한 3 가지 간단한 옵션이 있습니다 ...

    옵션 1

    해당 이름으로 규칙을 사용하지 않으려면, twokats 'solution을 사용하십시오. 여기에 설명이 있습니다.

    <올>

    프로젝트 속성으로 이동->C/C ++ 빌드->동작 탭

    빌드 빌드 (증분 빌드)를 확인했습니다.

    빌드 (증분 빌드) 옆의 텍스트 상자에서 "모두"를 제거하십시오.

    이것은 Eclipse에게 당신이 "all"이라는 make 타겟을 사용하고 있지 않다는 것을 알려준다. 어떤 이유로 든 이것이 기본값입니다.

    옵션 2

    Etiennebr의 makefile과 비슷한 것을 사용하십시오. 참고로, all: $(TARGET)  줄은 이클립스가 찾을 수 없다고 불평하는 규칙입니다.

    옵션 3

    선택한 규칙 이름으로 "all"을 대체하고 해당 규칙을 메이크 파일에 포함 시키십시오.

  • 답변 # 2

    참고로 CDT 빌드 옵션을 구성 할 수 있습니다. 나는 같은 오류 메시지를 가지고 있었지만 (만약make 목표를 가졌지 만 "all"이라고하지는 않았다)이 해결책을 찾았다 (Galileo + CDT 용) :

    프로젝트를 마우스 오른쪽 버튼으로 클릭하고속성을 선택하십시오. 속성 대화 상자가 나타나고 특정 빌드 옵션을 설정할 수있는C/C ++ 빌드옵션이 표시됩니다. 이 항목을 강조 표시하면 속성 페이지가 나타납니다. 수정할 구성을 선택한 다음 아래 섹션에서빌더 설정동작탭이 표시됩니다. 원하는행동탭입니다. 이 섹션에서는 대상 이름 지정 (기본값은 "all") 또는 자동 빌드 끄기를 포함하여 빌드 설정 및 워크 벤치 설정에 대한 환경 설정을 지정할 수 있습니다.

    이것은 CDT를 사용하기 시작했을 때 엄청나게 도움이되었습니다. 내 소스 코드는 빌드 영역과 분리되어 있으며 구성 할 때까지 makefile이 없습니다. 구성 할 때 기본 대상 이름은 "all"이 아니라 명시 적으로 "default"입니다. 내가하기 전에 Eclipse가 프로젝트에서 오류를보고하게하는 것은 성가신 일이었습니다. 개발 환경에 맞게 환경을 설정하는 것은 놀라운 일이었습니다. HTH.

  • 답변 # 3

    프로젝트 속성->C/C ++ 빌드를 마우스 오른쪽 버튼으로 클릭하고 "빌더 설정"에서 "메이크 파일 자동 생성"옵션을 확인한 다음 "빌더 유형"옵션을 "내부 빌더"로 선택하십시오. "를 클릭 한 다음 확인을 클릭하면 문제가 해결되었습니다!

  • 답변 # 4

    이 오류에 많은 시간을 보냈으며 이제 MinGW와 msys를 설치하기 전에 컴파일되지 않은 프로젝트가 생성되었다는 것을 깨달았습니다. 전에 makefile이 없습니다. 그리고 makefile에 링크가있는 포함 폴더가 없었습니다. 그것이 내가 컴파일 할 수없는 이유입니다. 이제 새 프로젝트를 만들면 괜찮습니다.

    그러나 이전 프로젝트의 makefile 경로를 추가 할 수있는 방법이 있는지 궁금합니다.

    감사합니다

  • 답변 # 5

    makefile을 보거나 누락 된 경우 makefile을 만들어야합니다. 이것이 기본 메이크 파일입니다 :

    CXXFLAGS =  -O2 -g -Wall -fmessage-length=0
    OBJS =      main.cpp
    LIBS =
    TARGET =      main.exe
    $(TARGET):  $(OBJS)
        $(CXX) -o $(TARGET) $(OBJS) $(LIBS)
    all:    $(TARGET)
    clean:
        rm -f $(OBJS) $(TARGET)
    
    

  • 이전 php - symfony2 - 쿠키 읽기
  • 다음 objective c - 이동 배경, iOS 51에서 OpenGL ES 충돌