본문 바로가기
programming language/MATLAB

MATLAB 에서 C/C++ 컴파일러 TDM-GCC 설치

by 남성 2018. 9. 12.

예전에는 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



댓글6

  • NK 2020.03.18 14:56

    make.m 파일을 쓰려고 하는데 MinGW-w64 Compiler가 없다고 해서 이 블로그에 나오는 방법대로 깔아서 해결이 됐습니다.
    문제는 make를 매틀랩에 입력하면

    'MinGW64 Compiler (C)'(으)로 빌드됩니다.
    Error: C:\Users\user\Desktop\libsvm-3.24\libsvm-3.24\matlab\make.m failed (line 13)
    gcc: error: \-fexceptions: No such file or directory

    라고 뜨는데 해결할 수 있는 방법이 있을까요?

    답글

  • 2020.03.18 15:08

    비밀댓글입니다
    답글

    • 남성 2020.03.18 18:48 신고

      make.m 파일을 열어보면 13 번째 줄 부터~ 아래와 같은 구문이 있는데

      mex CFLAGS="\$CFLAGS ~~~~

      "\$CFLAGS 에서 \ 표시를 삭제 해주니 되네요. 즉 다음과 같이 변경 되면 됩니다.

      mex CFLAGS="$CFLAGS ~~~~

      머신러닝 공부하시나 보네요~ 잼나게 하세요~

  • 2020.03.19 14:17

    비밀댓글입니다
    답글

    • 남성 2020.03.19 20:55 신고

      일단은 참고하셨다는 블로그에 질문하는게 가장 빠를거 같네요.

      저도 머신러닝 전문가는 아니고 저 라이브러리를 써 본적은 없어서 정확한 답변을 못 드리겠네요.

      그리고 제가 틀린것일 수도 있는데... SVM 이 지도 학습 방법 아닌가요? SVM 을 하는데 비지도 학습이라고 얘기를 하니까 더 잘 모르겠네요.

      혹시 모르니 namsung_32@naver.com 로 코드나 데이터 등 남겨 주시면 시간 되실때 함 시도나 해보겠습니다. 그리고 참고했다는 블로그도 어딘지 알려 주세요.

    • 2020.03.23 15:53

      비밀댓글입니다