2017-10-05 1 views
-1

내 WINAPI 프로젝트의 경우 파일을 사용하기 시작할 때까지 CW 프로그래밍 프로젝트에 atom IDE을 사용하고 있는데 문제없이 cmd 프롬프트에서 코드를 컴파일 할 수있었습니다. 하지만 이제는 내 프로그램을 컴파일하기 전에 rc 파일을 사용하여 cmd 프롬프트에서이 명령을 실행해야합니다.Cmd 프롬프트 창 컴파일

gcc -c jake.c 
gcc -o jake jake.o -mwindows 
windres -o jakerc.o jakerc.rc 
gcc -o jake jake.o jakerc.o -mwindows 

내 프로그램이 매번 올바르게 작동하는지 확인하기 위해 반복해서 입력하면됩니다. 정말 지루합니다. (또한 DEV C++ 나 Visual Studio 같은 IDE는 내가 원자를 좋아하지 않기 때문에 사용하지 말아주세요.)

그래서이 솔루션을 생각해 냈습니다. 나는 내부에 compile.c이라는 추가 파일을 만들었습니다.

#include <stdio.h> 
#include <stdlib.h> 

int main() { 

    system("C:\\Users\\hashtag\\Desktop\\rawsock\\kokul gcc -c jake.c"); 
    system("C:\\Users\\hashtag\\Desktop\\rawsock\\kokul gcc -o jake jake.o -mwindows"); 
    system("C:\\Users\\hashtag\\Desktop\\rawsock\\kokul windres -o jakerc.o jakerc.rc"); 
    system("C:\\Users\\hashtag\\Desktop\\rawsock\\kokul gcc -o jake jake.o jakerc.o -mwindows"); 
    return 0; 
} 

내가 컴파일하고 프로그램을 실행하면이 오류 얻을 : 어떻게이 오류를 제거 할

'C:\\Users\\hashtag\\Desktop\\rawsock\\kokul' is not recognized as an internal or external command, 
operable program or batch file. 

을, 나는 compile.exe을 실행할 때 어떻게 자동으로 내 파일을 컴파일합니까? 만큼 kokul로

+3

매개 변수화 된 배치 파일 –

+0

을 사용하면 확실히 표시 할 수 있습니까? @SebastianL – turmuka

+1

두 가지 선택을 볼 수 있습니다 :이 모든 것을 수행하는'.bat' 스크립트 파일을 만드십시오. 또는'make','nmake' 또는 유사한 도구를 사용하는 법을 배우십시오. –

답변

1

, 나는 배치 파일을 사용하는 것이 좋습니다 것 이것을위한 컴파일 된 c 프로그램이 아닙니다.

예 :

@ECHO off 
SET workingDirectory=%~dp0 
SET fileName=%1 
echo using %workingDirectory% as working directory 
gcc -c %fileName%.c 
gcc -o %fileName% %fileName%.o -mwindows 
windres -o %fileName%rc.o %fileName%rc.rc 
gcc -o %fileName% %fileName%.o %fileName%rc.o -mwindows 

그런 다음, 당신은 "mj.bat"파일에 두 줄

그들을 저장
windres -o jakerc.o jakerc.rc 
gcc -o jake jake.c jakerc.o -mwindows 

와 함께 할 수 nameofthebatchfile.bat jake

1

명령 줄

C:\\Users\\hashtag\\Desktop\\rawsock\\kokul gcc -c jake.c 

이 이해가되지 않습니다 디렉토리입니다. 여러 명령을 결합 할 수 있습니다. 당신이 디렉토리 kokul로 변경하고 컴파일을 시작하려는 경우

CD C:\\Users\\hashtag\\Desktop\\rawsock\\kokul & gcc -c jake.c 

일을하지만 어쨌든 배치 파일을 작성하는 것은 쉽게 많이됩니다

내 댓글에 언급 된
1

로 desiered 명령을 실행할 수 있습니다 "mj"를 입력하여 양식 명령 프롬프트를 실행하십시오. 프로젝트가 두 개 THRE 파일 이상으로 증가하면 아톰을 위해 메이크 GCC and Make Compiling, Linking and Building C/C++ Applications

확인도 atom-shell-commands 또는 run-command 패키지를 사용해야합니다

. 직접이 양식 편집기를 실행할 수 있습니다.

0

명령 줄 도구로 작업하는 경우이 작업은 Makefile에 대해 울부 짖는 것처럼 보입니다. make은 필요한 작업을 자동화 할뿐만 아니라 실제로 수행해야하는 파일 타임 스탬프에서 해결하려고합니다. 예를 들어, C 소스 파일을 변경하지 않았다면 다시 컴파일 할 필요가 없습니다. make 또는 그 유사 함의 효율성은 응용 프로그램이 더 커지고 구성 요소간에 더 복잡한 종속성이있을 때 엄청나게 증가합니다.

간단한 배치 파일로이 작업을 수행 할 수 있지만, 이상이 발생하면 단계에서 오류가 발생할 때 배치 파일을 중지해야합니다. 부적절한 출력 페이지에서 관련 오류 메시지를 찾는 것은 어려움이 될 수 있습니다. 이것은 make이 딱 맞는 또 다른 것입니다.

마법의 문법으로 Makefile 위에 올라가려면 시간이 걸릴 수 있습니다. 그러나이 노력은 장기간에 걸쳐 여러 번 보상을 받게 될 것입니다.

관련 문제