http://darkblitz.tistory.com/category/%EC%82%BD%EC%A7%88%EC%9D%BC%EA%B8%B0?page=2
Energy minimization 부분을 살펴보다 관련 소스를 얻어 컴파일하려고 하니 아래와 같은 오류가 발생하였다.
error LNK2019: unresolved external symbol utIsInterruptPending referenced in function...
utIsInterruptPending가 extern으로 선언되어 있으나 링크되지 않아서 생기는 문제였다.
utIsInterruptPending가 어디에 쓰는 함수인고 하니, Ctrl+C가 입력되었을 때, 이를 처리하는 함수라고 한다.
utIsInterruptPending는 undocumented MATLAB API로 libut.dll에 구현되어 있으며, libut.lib를 mex 컴파일시에 링크해주면 되겠다. libut.lib는 기본적으로 mex에서 링크하지 않고 있으므로 -l옵션을 이용하여 추가해 주어야한다. 다음과 같이 하면 되겠다.
mex blahblah.cpp -lut
출처: http://www.caam.rice.edu/~wy1/links/mex_ctrl_c_trick/
'Matlab > mex' 카테고리의 다른 글
generate MEX-files using Visual Studio (0) | 2016.09.22 |
---|---|
mex "example_mex_function.cpp" compile error (0) | 2016.09.13 |
matlab mex memory access (0) | 2016.09.13 |
How do I link a 64-bit MATLAB mex file to OpenCV libraries (0) | 2016.09.13 |
mex cpp file in Matlab option (0) | 2016.05.17 |