A criação de um arquivo mex do MATLAB no Visual Studio fornece o símbolo externo não resolvido do LNK2019 _mexPrintf referenciado na função mexFunction?
Estou usando o Visual Studio 2012 x64 para criar e depurar um arquivo mex MATLAB 2014a x64 diretamente (sem usar omex
comando no MATLAB). Eu segui as instruções emessa questão configurar um projeto do Visual Studio chamadotest1
. eu seguieste tutorial para escrever um arquivo mex simples,test1.cpp
:
#include <math.h>
#include <matrix.h>
#include <mex.h>
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
mexPrintf("Hello World!\n");
}
Construir esta solução me dá esta mensagem:
> 1>------ Build started: Project: test1, Configuration: Debug Win32
> ------ 1> Creating library C:\PROJECTS\matlab\mex\test1\Debug\test1.lib
> and object
> C:\PROJECTS\matlab\mex\test1\Debug\test1.exp
> 1>test1.obj : error LNK2019: unresolved external symbol _mexPrintf
> referenced in function _mexFunction 1>MSVCRTD.lib(crtexe.obj) : error
> LNK2019: unresolved external symbol _main referenced in function
> ___tmainCRTStartup 1>C:\PROJECTS\matlab\mex\test1\Debug\test1.mexw64
> : fatal error LNK1120: 2 unresolved externals
> ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Estou faltando etapas de configuração aqui? Eu usei as etapas emesta resposta exatamente, mas talvez esteja incompleto para versões mais recentes do MATLAB?