Help using MatLab coder.

2 visualizaciones (últimos 30 días)
Reynaldo
Reynaldo el 21 de Abr. de 2012
Comentada: vcmorini el 19 de Jul. de 2017
Hey! I am trying to use the MatLab coder but I keep getting the same error over and over again. No matter what changes I make, the same error keeps appearing. Here is the MatLabcode I am trying to convert to C++:
function [result] = test(x,h)
result =x+h;
This is a really easy code that the coder should be able to compile without any hesitation but still it is not able to make the conversion. I have declared the datatypes on the coder project window. I am using MatLab version R2011a. I have also configured my Visual Studio compiler with MatLab using mex -setup. This is the error I am getting (in the Target Build Log):
1 Setting environment for using Microsoft Visual Studio 2010 x64 tools.
2
3 Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
4 Copyright (C) Microsoft Corporation. All rights reserved.
5
6 ### Compiling test.c
7 cl -DUSE_RTMODEL /Od /Oy- -DMODEL=test -DRT -DNUMST=1 -DTID01EQ=0 -DNCSTATES=0 -DMT=0 -DHAVESTDIO -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -W4 -D_WINNT -D_WIN32_WINNT=0x0500 -DNTDDI_VERSION=0x05000000 -D_WIN32_IE=0x0500 -DWINVER=0x0500 -D_MT -MT /wd4996 test.c
8 test.c
9 ### Compiling test_initialize.c
10 cl -DUSE_RTMODEL /Od /Oy- -DMODEL=test -DRT -DNUMST=1 -DTID01EQ=0 -DNCSTATES=0 -DMT=0 -DHAVESTDIO -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -W4 -D_WINNT -D_WIN32_WINNT=0x0500 -DNTDDI_VERSION=0x05000000 -D_WIN32_IE=0x0500 -DWINVER=0x0500 -D_MT -MT /wd4996 test_initialize.c
11 test_initialize.c
12 ### Compiling test_terminate.c
13 cl -DUSE_RTMODEL /Od /Oy- -DMODEL=test -DRT -DNUMST=1 -DTID01EQ=0 -DNCSTATES=0 -DMT=0 -DHAVESTDIO -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -W4 -D_WINNT -D_WIN32_WINNT=0x0500 -DNTDDI_VERSION=0x05000000 -D_WIN32_IE=0x0500 -DWINVER=0x0500 -D_MT -MT /wd4996 test_terminate.c
14 test_terminate.c
15 ### Compiling rt_nonfinite.c
16 cl -DUSE_RTMODEL /Od /Oy- -DMODEL=test -DRT -DNUMST=1 -DTID01EQ=0 -DNCSTATES=0 -DMT=0 -DHAVESTDIO -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -W4 -D_WINNT -D_WIN32_WINNT=0x0500 -DNTDDI_VERSION=0x05000000 -D_WIN32_IE=0x0500 -DWINVER=0x0500 -D_MT -MT /wd4996 rt_nonfinite.c
17 rt_nonfinite.c
18 ### Compiling rtGetNaN.c
19 cl -DUSE_RTMODEL /Od /Oy- -DMODEL=test -DRT -DNUMST=1 -DTID01EQ=0 -DNCSTATES=0 -DMT=0 -DHAVESTDIO -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -W4 -D_WINNT -D_WIN32_WINNT=0x0500 -DNTDDI_VERSION=0x05000000 -D_WIN32_IE=0x0500 -DWINVER=0x0500 -D_MT -MT /wd4996 rtGetNaN.c
20 rtGetNaN.c
21 ### Compiling rtGetInf.c
22 cl -DUSE_RTMODEL /Od /Oy- -DMODEL=test -DRT -DNUMST=1 -DTID01EQ=0 -DNCSTATES=0 -DMT=0 -DHAVESTDIO -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS -D_AMD64_=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32 -W4 -D_WINNT -D_WIN32_WINNT=0x0500 -DNTDDI_VERSION=0x05000000 -D_WIN32_IE=0x0500 -DWINVER=0x0500 -D_MT -MT /wd4996 rtGetInf.c
23 rtGetInf.c
24 ### Linking ...
25 C:\PROGRA~1\MATLAB\R2011a\sys\perl\win32\bin\perl C:\PROGRA~1\MATLAB\R2011a\rtw\c\tools\mkvc_lnk.pl test.lnk test.obj test_initialize.obj test_terminate.obj rt_nonfinite.obj rtGetNaN.obj rtGetInf.obj
26 link /RELEASE /INCREMENTAL:NO /NOLOGO -subsystem:console,5.02 kernel32.lib ws2_32.lib mswsock.lib advapi32.lib libcpmt.lib @test.lnk @test_ref.rsp -out:C:\Users\Pixel\DOCUME~1\PRUEBA~2\test.exe
27 LIBCMT.lib(crt0.obj) : error LNK2019: unresolved external symbol main referenced in function __tmainCRTStartup
28 C:\Users\Pixel\DOCUME~1\PRUEBA~2\test.exe : fatal error LNK1120: 1 unresolved externals
29 NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\amd64\link.EXE"' : return code '0x460'
30 Stop.
31 The make command returned an error of 2
32 'An_error_occurred_during_the_call_to_make' is not recognized as an internal or external command,
33 operable program or batch file.
34
I hope I can find a solution to this problem. Thank you very much for your help!
  1 comentario
vcmorini
vcmorini el 19 de Jul. de 2017
I am having the same problem. MinGW compiles fine.

Iniciar sesión para comentar.

Respuestas (1)

Titus Edelhofer
Titus Edelhofer el 21 de Abr. de 2012
Hi,
when compiling to an executable you need to provide a main function (a file containing
void main()
{
/* call the MATLAB coder code */
}
Don't have MATLAB available on this machine, but somewhere on the MATLAB coder settings you specify a file containing the main function ...
Titus

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by