Компиляция файла C в Matlab с помощью Visual Studio - PullRequest
0 голосов
/ 18 января 2012

У меня есть C-файл, который я хочу скомпилировать в Matlab с MS Visual Studio 10. Для этого я использую следующую команду:

mex -v test.c

Вывод, который я получаю после компиляции, следующий:

test.c 
    Contents of C:\Temp\mex_kpuu4t\mex_tmp.rsp: 
    C:\Temp\mex_kpuu4t\test.obj 


--> link /out:"test.mexw64" /dll /export:mexFunction /MAP /LIBPATH:"C:\Program Files\MATLAB\R2011a\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib /implib:"C:\Temp\mex_kpuu4t\templib.x" /MACHINE:X64 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  @C:\Temp\mex_kpuu4t\mex_tmp.rsp   

Microsoft (R) Incremental Linker Version 10.00.30319.01 
Copyright (C) Microsoft Corporation.  All rights reserved. 

C:\Temp\mex_kpuu4t\test.obj  
LINK : fatal error LNK1104: cannot open file 'test.mexw64' 

C:\PROGRA~1\MATLAB\R2011A\BIN\MEX.PL: Error: Link of 'test.mexw64' failed. 

У кого-нибудь есть идеи, что может пойти не так? Интересно, что файл test.obj, похоже, не записан во временную папку, может ли это быть проблемой здесь?

Большое спасибо!

1 Ответ

1 голос
/ 19 января 2012

Может быть, вы назвали «test» с ранее скомпилированного мэха?Если да, он все еще может быть загружен в память Matlab и не может быть перезаписан.Попробуйте:

clear mex

и затем снова скомпилируйте.

...