필터 지우기
필터 지우기

Help using MatLab coder.

조회 수: 1 (최근 30일)
Reynaldo
Reynaldo 2012년 4월 21일
댓글: vcmorini 2017년 7월 19일
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
vcmorini
vcmorini 2017년 7월 19일
I am having the same problem. MinGW compiles fine.

댓글을 달려면 로그인하십시오.

답변 (1개)

Titus Edelhofer
Titus Edelhofer 2012년 4월 21일
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

카테고리

Help CenterFile Exchange에서 Introduction to Installation and Licensing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by