윈도우에서 gcc 를 사용할 때 저는 아래와 포스팅에서 밝힌 바와 같이 codeblock을 주로 사용합니다.
2012/10/14 - [유틸] - Codeblock doxygen plugin DoxyBlocks
2012/08/26 - [컴퓨터일반] - CodeBlock 에서 FFTW 라이브러리를 사용한 FFT 실습
2012/07/31 - [컴퓨터일반] - Codeblock 에서 DLL 사용하기
codeblock 과 mingw 를 통해 GCC 를 사용하지만, 역시나 IDE 를 사용하여 개발하는데 익숙하다 보니
Command Line 을 통한 빌드에는 참 익숙해 지지가 않더군요.
그래도 열심히 makefile 도 만들어 보고 command line 을 통한 빌드에 익숙해 지려고 노력하고 있습니다.
간단하게 아래 그림과 같은 코드에 C++ 코드에 대한 빌드시~
<main.cpp>
#include <iostream>
#include <cstdio>
#include "test.h"
using namespace std;
int main()
{
cout << "Hello world! make test" << endl;
cout << TTTT << endl ;
getchar();
return 0;
}
< test.h>
#ifndef TEST_H_INCLUDED
#define TEST_H_INCLUDED
#define TTTT (5678)
#endif // TEST_H_INCLUDED
makefile 은 다음과 같습니다.
< makefile>
WORKDIR = %cd%
CC = gcc.exe
CXX = g++.exe
AR = ar.exe
LD = g++.exe
WINDRES = windres.exe
INC =
CFLAGS = -Wall -fexceptions
RESINC =
LIBDIR =
LIB =
LDFLAGS =
INC_RELEASE = $(INC)
CFLAGS_RELEASE = $(CFLAGS) -O2
RESINC_RELEASE = $(RESINC)
RCFLAGS_RELEASE = $(RCFLAGS)
LIBDIR_RELEASE = $(LIBDIR)
LIB_RELEASE = $(LIB)
LDFLAGS_RELEASE = $(LDFLAGS) -s
OBJDIR_RELEASE = obj\\Release
DEP_RELEASE =
OUT_RELEASE = bin\\Release\\Test.exe
OBJ_RELEASE = $(OBJDIR_RELEASE)\\main.o
all: release
clean: clean_release
before_release:
cmd /c if not exist bin\\Release md bin\\Release
cmd /c if not exist $(OBJDIR_RELEASE) md $(OBJDIR_RELEASE)
after_release:
release: before_release out_release after_release
out_release: $(OBJ_RELEASE) $(DEP_RELEASE)
$(LD) $(LDFLAGS_RELEASE) $(LIBDIR_RELEASE) $(OBJ_RELEASE) $(LIB_RELEASE) -o $(OUT_RELEASE)
$(OBJDIR_RELEASE)\\main.o: main.cpp Test.h
$(CXX) $(CFLAGS_RELEASE) $(INC_RELEASE) -c main.cpp -o $(OBJDIR_RELEASE)\\main.o
clean_release:
cmd /c del /f $(OBJ_RELEASE) $(OUT_RELEASE)
cmd /c rd bin\\Release
cmd /c rd $(OBJDIR_RELEASE)
makefile 이 들어있는 폴더에서 간단하게 다음과 같이 mingw32-make 라고 명령어를 쳐 넣어 주면~ 아래 그림처럼 간단하게 빌드가 되더군요.
물론 mingw32-make.exe 가 들어있는 폴더가 system path 로 잡혀 있어야 겠죠~
'컴퓨터일반' 카테고리의 다른 글
Windows 심볼릭링크파일 vim으로 편집 후 저장할 때…. 링크가 왜 깨질까? (0) | 2012.11.16 |
---|---|
Ubuntu 에서 cmake 사용시 CMAKE_CXX_COMPILER-NOTFOUND 에러 (0) | 2012.11.04 |
VirtualBox 홈페이지 주소 바뀐건가…. (0) | 2012.11.04 |
C/C++ 매개변수를 갖는 매크로, #, ## 연산자 (288) | 2012.10.29 |
KMPlayer 깔 때 짜증나는 것들... (0) | 2012.10.21 |
간단하게 동영상 codec 정보 알아보기 (0) | 2012.10.14 |
CodeBlock 에서 FFTW 라이브러리를 사용한 FFT 실습 (281) | 2012.08.26 |
C++11 많이 좋아졌네요. (0) | 2012.08.26 |
댓글