ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MATLAB] MATLAB 2010 에서 C compiler를 찾을 수 없을 때.
    Tech/Development 2011. 7. 5. 15:16

    현재 Windows7 64-bit 에서 MATLAB 7.10.0 (R2010a) 를 사용중인데, C++ file을 사용하고자 mex 명령어를 사용하니 아래와 같은 메시지가 뜬다.


    >> mex example.cpp
    Error: Could not detect a compiler on local system
    which can compile the specified input file(s)
    **************************************************************************
      Warning: The MATLAB C and Fortran API has changed to support MATLAB
               variables with more than 2^32-1 elements.  In the near future
               you will be required to update your code to utilize the new
               API. You can find more information about this at:
               http://www.mathworks.com/support/solutions/en/data/1-5C27B9/?solution=1-5C27B9
               Building with the -largeArrayDims option enables the new API.
    **************************************************************************
     
     
      C:\PROGRA~1\MATLAB\R2010A\BIN\MEX.PL: Error: No compiler options file could be found to compile source code. Please run "mex -setup" to rectify.
     
    ??? Error using ==> mex at 222
    Unable to complete successfully.


    사용할 수 없는 이유는 간단히, C compiler가 없기 때문이다. 일반적으로 32-bit Windows에서는 MATLAB 2010 이 설치될 때 Compiler도 함게 설치되나, 64-bit MATLAB에서는 따로 설치해주어야 한다. 설치해야할 파일은 아래 2가지이다.


    Windows (64-bit)

    For the 64-bit Windows platform, a C compiler is not supplied with MATLAB. Free downloads are available that are suitable for most users. To get a C compiler and support libraries, install the following downloads in order:

    * Add Download 1: Microsoft Visual C++ 2010 Express
    * Add Download 2: Microsoft Windows SDK 7.1


    공식 MATLAB 안내 페이지로 바로 가기


    순서대로 설치하였다면, MATLAB command 창에서 아래와 같이 입력하여 Compiler Path Setup을 해야한다.

    이 때, Would you like mex to locate installed compilers [y]/n? 에서 n을 누르면 자동으로 Path가 잡히지 않은 Compiler를 수동으로 설정할 수 있다.


    >> mex -setup
    Please choose your compiler for building external interface (MEX) files:
     
    Would you like mex to locate installed compilers [y]/n? n
     
    Select a compiler:
    [1] Intel C++ 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
    [2] Intel C++ 9.1 (with Microsoft Visual C++ 2005 SP1 linker)
    [3] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
    [4] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 Shell linker)
    [5] Intel Visual Fortran 10.1 (with Microsoft Visual C++ 2005 SP1 linker)
    [6] Microsoft Visual C++ 2005 SP1
    [7] Microsoft Visual C++ 2008 Express
    [8] Microsoft Visual C++ 2008 SP1
     
    [0] None
     
    Compiler:


    댓글

Copyright 2022 JY