예전에는 Visual Studio Express 를 설치해서 MATLAB 에 필요한 C/C++ 컴파일러를 설치 했었지만 최근에는 Mingw 를 설치하면 되더군요.

아래 주소에서 Add-On 을 통해 MinGW-w64 Compiler 설치하는 방법을 소개 했었는데~

http://iamaman.tistory.com/1664

현재 회사 컴퓨터의 MATLAB 라이센스 Software Maintenance 가 유지되고 있지 않아서 Add-On 에서 TDM-GCC 설치를 할수 없게 막아 놨더군요.

아래 주소에서 TDM-GCC 를 설치했고 path 환경변수도 분명 등록을 했는데 MATLAB 에서 mex -setup 이 안 먹어서 어케 하나 하다가~

http://tdm-gcc.tdragon.net/download

아래 주소에서 MATLAB 에 TDM-GCC 를 설치하는 정확한 방법을 찾아서 기록 겸 공유 합니다.

https://stackoverflow.com/questions/39140398/install-mingw-w64-compiler-matlab2013a-or-2016a

1. 위와 같은 방법으로 TDM-GCC 설치후에~

2. 관리자 모드 CMD 에서

setx MW_MINGW64_LOC "C:\TDM-GCC-64" /m

3. MATLAB Command Window 에서

>> setenv('MW_MINGW64_LOC','C:\TDM-GCC-64')

>> mex -setup

MEX이(가) C 언어 컴파일에 'MinGW64 Compiler (C)'을(를) 사용하도록 구성되었습니다.

경고: 2^32-1개의 요소를 초과하는 MATLAB 변수를 지원하기 위해 ...(중략)


% 컴파일러 빌드 확인

>> copyfile(fullfile(matlabroot,'extern','examples','mex','yprime.c'),'.','f')

>> mex yprime.c

'MinGW64 Compiler (C)'(으)로 빌드됩니다.

MEX가 성공적으로 완료되었습니다.

>> yprime(1,1:4)

ans =

2.0000 8.9685 4.0000 -1.0947



보통 윈도우 환경에서 MATLAB 에서 컴파일러 사용시 Microsoft windows SDK 를 주로 사용하곤 하는데~

 

아래 글을 보니 윈도우 환경에서 아래 글에서 소개드렸던 MinGW 를 사용 할 수도 있더군요.

 

http://kr.mathworks.com/help/matlab/matlab_external/install-mingw-support-package.html

 

일단 MinGW 를 설치해야는데~ 위 주소에 있는 바와 같이 홈 화면에 있는 Add-Ons을 통해 설치 할 수 있습니다.

 

아래 그림과 같이 MinGW 를 선택해서 Add 를 누르면 설치가 되더군요.

 

 

설치시 주의 할 점은 아래 그림과 같이 아래 그림과 같이 체크를 해제 해야 한다는 겁니다.


 

다음으로 MinGW 설치 폴더의 경로에는 스페이스가 있어서는 안 된다는 것입니다. 위 주소의 매뉴얼에 따르면 "C:\TDM-GCC-64" 와 같이 공백이 없게 해야 한다고 합니다.

 

저는 현재 R2015b 버전을 사용 중이고 아래 그림과 같이 MinGW 와 Microsoft windows SDK 를 사용 중입니다.

 




Command window 에서 mex –setup 을 하고~ 사용하기 원하는 컴파일러를 클릭해서 선택 할 수 있습니다.

 

다음으로 위 주소에 나와 있던 예제를 돌려 봤습니다.

 

코든느 아래와 같습니다. 위 주소에 나와 있는 그대로 입니다.

 

copyfile(fullfile(matlabroot,'extern','examples','mex','yprime.c'),'.','f')

mex yprime.c % yprime.mexw64 파일을 만들어 냄

yprime(1,1:4)

 

다음과 같이 실행 되는 것을 확인 했습니다.

 

>> yprime(1,1:4)

ans =

 

2.0000 8.9685 4.0000 -1.0947

 

yprime.c파일을 확인하면 mex 파일을 만들어서 MATLAB 에서 C 함수를 사용하는 방법을 알 수 있을 겁니다.

 

필요하실 분들을 위해 yprime.mexw64 파일도 첨부합니다.

 


yprime.mexw64

관련 글 : http://iamaman.tistory.com/1664


+ Recent posts