이 질문을 팔로우합니다.
- 팔로우하는 게시물 피드에서 업데이트를 확인할 수 있습니다.
- 정보 수신 기본 설정에 따라 이메일을 받을 수 있습니다.
How to manually edit MatLab Coder .mex-file code to support 64bit indexing
    조회 수: 11 (최근 30일)
  
       이전 댓글 표시
    
Hey,
I have a problem that mex files generated by MatLab Coder only supports 32bit indexing, which is the reason my program gets an error when the input of the bottleneck mex function exceeds an input boolean matrix which has more than 2^31 elements.
I know that mex-files support 64bit indexing when they are hand written, but since I am not comfortable with c or c++, I wonder if there is a way, and if so how, to manually correct this at the end of the coder when it shows me the code it generated?
I read that i shoukld have to replace the 'int32_T' by 'size_t' but thats not all, I would also need to replace the the constructors  'coder::array<T, 1U>' with C MEX API... and thats the point where my knowledge ends and I would need some help about what to do exactly and how to do it.
May be someone coukld help me with that.
Best regards and many thanks in advance
채택된 답변
  Nitin Kapgate
    
 2020년 12월 18일
        
      편집: Nitin Kapgate
    
 2020년 12월 18일
  
      So you will need to manually change the codein C/C++ files. 
You can refer to the guide to enable support for 64-bit indexing in MEX files using compatibleArrayDims flag in mex command.
댓글 수: 2
  Marc Laub
 2020년 12월 23일
				
      편집: Marc Laub
 2020년 12월 23일
  
			I first tried to recompile the coder code with matlab again, just to be sure that it will work. Untill this would not work I should not be concerned about changing the code because I cant compile it.
So I tried it but i got tonnes of error messages which I did understand:
>> mex -v *.cpp
Verbose mode is on.
... Looking for compiler 'MinGW64 Compiler (C++)' ...
... Looking for environment variable 'MW_MINGW64_LOC' ...Yes ('C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset').
... Looking for file 'C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++.exe' ...Yes.
... Looking for folder 'C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset' ...Yes.
... Looking for environment variable 'MW_MINGW64_LOC' ...Yes ('C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset').
... Executing command 'C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -dumpmachine' ...Yes ('x86_64-w64-mingw32').
... Looking for environment variable 'MW_MINGW64_LOC' ...Yes ('C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset').
... Executing command 'C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -dumpversion' ...Yes ('6.3.0').
Found installed compiler 'MinGW64 Compiler (C++)'.
Set PATH = C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin;C:\Program Files\MATLAB\R2020a\extern\include\win64;C:\Program Files\MATLAB\R2020a\extern\include;C:\Program Files\MATLAB\R2020a\simulink\include;C:\Program Files\MATLAB\R2020a\lib\win64;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\MATLAB\R2020a\runtime\win64;C:\Program Files\MATLAB\R2020a\bin;C:\Users\mlaub\AppData\Local\Microsoft\WindowsApps;
Set INCLUDE = C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\include;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\lib\gcc\x86_64-w64-mingw32\6.3.0\include\c++;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\lib\gcc\x86_64-w64-mingw32\6.3.0\include;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\lib\gcc\x86_64-w64-mingw32\6.3.0\include\c++\x86_64-w64-mingw32;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\lib\gcc\x86_64-w64-mingw32\6.3.0\include\c++\backward;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\x86_64-w64-mingw32\include;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\include;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\lib\gcc\x86_64-w64-mingw32\6.3.0\include\c++;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\lib\gcc\x86_64-w64-mingw32\6.3.0\include;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\lib\gcc\x86_64-w64-mingw32\6.3.0\include\c++\x86_64-w64-mingw32;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\lib\gcc\x86_64-w64-mingw32\6.3.0\include\c++\backward;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\x86_64-w64-mingw32\include;
Set LIB = C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\lib;;C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\lib;;
Set MW_TARGET_ARCH = win64;win64;
Set LIBPATH = C:\Program Files\MATLAB\R2020a\extern\lib\win64;C:\Program Files\MATLAB\R2020a\extern\lib\win64;
Options file details
-------------------------------------------------------------------
	Compiler location: C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset
	Options file: C:\Users\mlaub\AppData\Roaming\MathWorks\MATLAB\R2020a\mex_C++_win64.xml
	CMDLINE2 : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -m64 -Wl,--no-undefined -shared -static -s -Wl,"C:\Program Files\MATLAB\R2020a/extern/lib/win64/mingw64/exportsmexfileversion.def" C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para_mexutil.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\rt_nonfinite.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\cpp_mexapi_version.obj   -L"C:\Program Files\MATLAB\R2020a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -llibmwlapack -llibmwblas -llibMatlabDataArray -llibMatlabEngine -o grain_struct_grower_para.mexw64
	CXX : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++
	COMPILER : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++
	DEFINES : -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE 
	MATLABMEX : -DMATLAB_MEX_FILE 
	CFLAGS : -fexceptions -fno-omit-frame-pointer
	CXXFLAGS : -fexceptions -fno-omit-frame-pointer -std=c++11
	INCLUDE : -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include"
	CXXOPTIMFLAGS : -O2 -fwrapv -DNDEBUG
	CXXDEBUGFLAGS : -g
	LDXX : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++
	LINKER : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++
	LDFLAGS : -m64 -Wl,--no-undefined
	LDTYPE : -shared -static
	LINKEXPORT : -Wl,"C:\Program Files\MATLAB\R2020a/extern/lib/win64/mingw64/mexFunction.def"
	LINKEXPORTVER : -Wl,"C:\Program Files\MATLAB\R2020a/extern/lib/win64/mingw64/exportsmexfileversion.def"
	LIBLOC : C:\Program Files\MATLAB\R2020a\extern\lib\win64\mingw64
	LINKLIBS : -L"C:\Program Files\MATLAB\R2020a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -llibmwlapack -llibmwblas -llibMatlabDataArray -llibMatlabEngine
	LDOPTIMFLAGS : -s
	LDDEBUGFLAGS : -g
	OBJEXT : .obj
	LDEXT : .mexw64
	SETENV : set COMPILER=C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\gcc
                set CXXCOMPILER=C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++
                set COMPFLAGS=-c -fexceptions -fno-omit-frame-pointer -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -DMATLAB_MEX_FILE 
                set CXXCOMPFLAGS=-c -fexceptions -fno-omit-frame-pointer -std=c++11 -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -DMATLAB_MEX_FILE 
                set OPTIMFLAGS=-O2 -fwrapv -DNDEBUG
                set DEBUGFLAGS=-g
                set LINKER=C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\gcc
                set CXXLINKER=C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++
                set LINKFLAGS=-m64 -Wl,--no-undefined -shared -static -L"C:\Program Files\MATLAB\R2020a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -llibmwlapack -llibmwblas -llibMatlabDataArray -llibMatlabEngine -Wl,"C:\Program Files\MATLAB\R2020a/extern/lib/win64/mingw64/mexFunction.def"
                set LINKDEBUGFLAGS=-g
                set NAME_OUTPUT= -o "%OUTDIR%%MEX_NAME%%MEX_EXT%"
	MINGWROOT : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset
	MINGWTARGET : x86_64-w64-mingw32
	VERSION : 6.3.0
	MATLABROOT : C:\Program Files\MATLAB\R2020a
	ARCH : win64
	SRC : "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\grain_struct_grower_para.cpp";"C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\grain_struct_grower_para_mexutil.cpp";"C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\rt_nonfinite.cpp";"C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\_coder_grain_struct_grower_para_info.cpp";"C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\_coder_grain_struct_grower_para_mex.cpp";"C:\Program Files\MATLAB\R2020a\extern\version\cpp_mexapi_version.cpp"
	OBJ : C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj;C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para_mexutil.obj;C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\rt_nonfinite.obj;C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj;C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj;C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\cpp_mexapi_version.obj
	OBJS : C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para_mexutil.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\rt_nonfinite.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\cpp_mexapi_version.obj 
	SRCROOT : C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\grain_struct_grower_para
	DEF : C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.def
	EXP : "grain_struct_grower_para.exp"
	LIB : "grain_struct_grower_para.lib"
	EXE : grain_struct_grower_para.mexw64
	ILK : "grain_struct_grower_para.ilk"
	MANIFEST : "grain_struct_grower_para.mexw64.manifest"
	TEMPNAME : grain_struct_grower_para
	EXEDIR : 
	EXENAME : grain_struct_grower_para
	OPTIM : -O2 -fwrapv -DNDEBUG
	LINKOPTIM : -s
	CMDLINE1_0 : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\grain_struct_grower_para.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj
	CMDLINE1_1 : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\grain_struct_grower_para_mexutil.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para_mexutil.obj
	CMDLINE1_2 : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\rt_nonfinite.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\rt_nonfinite.obj
	CMDLINE1_3 : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\_coder_grain_struct_grower_para_info.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj
	CMDLINE1_4 : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\_coder_grain_struct_grower_para_mex.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj
	CMDLINE1_5 : C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Program Files\MATLAB\R2020a\extern\version\cpp_mexapi_version.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\cpp_mexapi_version.obj
-------------------------------------------------------------------
Building with 'MinGW64 Compiler (C++)'.
C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\grain_struct_grower_para.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj
C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\grain_struct_grower_para_mexutil.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para_mexutil.obj
C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\rt_nonfinite.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\rt_nonfinite.obj
C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\_coder_grain_struct_grower_para_info.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj
C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Users\mlaub\Desktop\Promo_matlab\linked_grains_model2_readyCPP\codegen\mex\grain_struct_grower_para\_coder_grain_struct_grower_para_mex.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj
C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -m64 -DMATLAB_MEX_FILE  -I"C:\Program Files\MATLAB\R2020a/extern/include" -I"C:\Program Files\MATLAB\R2020a/simulink/include" -fexceptions -fno-omit-frame-pointer -std=c++11 -O2 -fwrapv -DNDEBUG "C:\Program Files\MATLAB\R2020a\extern\version\cpp_mexapi_version.cpp" -o C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\cpp_mexapi_version.obj
C:\ProgramData\MATLAB\SupportPackages\R2020a\3P.instrset\mingw_w64.instrset\bin\g++ -m64 -Wl,--no-undefined -shared -static -s -Wl,"C:\Program Files\MATLAB\R2020a/extern/lib/win64/mingw64/exportsmexfileversion.def" C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para_mexutil.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\rt_nonfinite.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\cpp_mexapi_version.obj   -L"C:\Program Files\MATLAB\R2020a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -llibmwlapack -llibmwblas -llibMatlabDataArray -llibMatlabEngine -o grain_struct_grower_para.mexw64
Error using mex
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x29): undefined reference
to `emlrtAlias'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x35): undefined reference
to `emlrtAlias'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x6b): undefined reference
to `emlrtCheckBuiltInR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x74): undefined reference
to `emlrtMxGetData'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x80): undefined reference
to `emlrtDestroyArray'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x89): undefined reference
to `emlrtDestroyArray'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x92): undefined reference
to `emlrtDestroyArray'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xd0): undefined reference
to `emlrtAlias'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xdc): undefined reference
to `emlrtAlias'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x112): undefined
reference to `emlrtCheckBuiltInR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x11b): undefined
reference to `emlrtMxGetData'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x128): undefined
reference to `emlrtDestroyArray'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x131): undefined
reference to `emlrtDestroyArray'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x13a): undefined
reference to `emlrtDestroyArray'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x17b): undefined
reference to `emlrtCreateNumericArray'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x189): undefined
reference to `emlrtMxSetData'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x19e): undefined
reference to `emlrtSetDimensions'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1aa): undefined
reference to `emlrtAssign'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x288): undefined
reference to `omp_in_parallel'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x297): undefined
reference to `emlrtEnterParallelRegion'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2a7): undefined
reference to `omp_get_thread_num'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2b5): undefined
reference to `emlrtAllocTLS'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x48f): undefined
reference to `emlrtHeapReferenceStackEnterFcnR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x514): undefined
reference to `emlrtSizeMulR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x52a): undefined
reference to `emlrtSizeMulR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x567): undefined
reference to `emlrtMallocMex'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x5a0): undefined
reference to `emlrtMallocMex'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x5b9): undefined
reference to `emlrtFreeMex'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x66b): undefined
reference to `muDoubleScalarIsNaN'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x679): undefined
reference to `muDoubleScalarIsNaN'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x724): undefined
reference to `muDoubleScalarPower'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x788): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x819): undefined
reference to `emlrtSubAssignSizeCheck1dR2017a'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x88e): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x92b): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xa86): undefined
reference to `muDoubleScalarAbs'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xb2a): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xb76): undefined
reference to `muDoubleScalarAbs'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xbe2): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xc2f): undefined
reference to `emlrtSizeEqCheck1DR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xcbc): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xd03): undefined
reference to `muDoubleScalarAbs'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xd75): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xdc1): undefined
reference to `emlrtSizeEqCheck1DR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xefe): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0xf43): undefined
reference to `muDoubleScalarAbs'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1120): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1163): undefined
reference to `muDoubleScalarAbs'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1242): undefined
reference to `emlrtSizeEqCheck1DR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x129f): undefined
reference to `emlrtSubAssignSizeCheck1dR2017a'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x12f1): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x13ff): undefined
reference to `emlrtSizeMulR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1415): undefined
reference to `emlrtSizeMulR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x146c): undefined
reference to `emlrtMallocMex'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x156b): undefined
reference to `muDoubleScalarIsNaN'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1579): undefined
reference to `muDoubleScalarIsNaN'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x168b): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x176a): undefined
reference to `emlrtDynamicBoundsCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x17cc): undefined
reference to `emlrtHeapReferenceStackLeaveFcnR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x17e6): undefined
reference to `emlrtFreeMex'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1896): undefined
reference to `emlrtErrorWithMessageIdR2018a'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x18a4): undefined
reference to `emlrtBreakCheckR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x18b2): undefined
reference to `omp_in_parallel'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x18c8): undefined
reference to `emlrtExitParallelRegion'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x18d8): undefined
reference to `muDoubleScalarIsNaN'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1947): undefined
reference to `muDoubleScalarIsNaN'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1a5c): undefined
reference to `emlrtErrorWithMessageIdR2018a'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1a71): undefined
reference to `emlrtMallocMex'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1afd): undefined
reference to `emlrtFreeMex'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1b32): undefined
reference to `muDoubleScalarPower'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1b6a): undefined
reference to `emlrtFreeMex'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1c3b): undefined
reference to `emlrtHeapAllocationErrorR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1c65): undefined
reference to `emlrtHeapAllocationErrorR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1c7a): undefined
reference to `emlrtHeapAllocationErrorR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1c8f): undefined
reference to `emlrtHeapAllocationErrorR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1dfe): undefined
reference to `emlrtFreeMex'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1f83): undefined
reference to `emlrtAlias'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1fa2): undefined
reference to `emlrtAlias'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1fc1): undefined
reference to `emlrtAlias'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1fe0): undefined
reference to `emlrtAliasP'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x1fff): undefined
reference to `emlrtAliasP'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x201e): undefined
reference to `emlrtAliasP'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x203e): undefined
reference to `emlrtAliasP'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x205e): undefined
reference to `emlrtAliasP'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x207e): more undefined
references to `emlrtAliasP' follow
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x209e): undefined
reference to `emlrtAlias'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x20ca): undefined
reference to `emlrtAlias'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x20d6): undefined
reference to `emlrtAlias'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x210f): undefined
reference to `emlrtCheckBuiltInR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2118): undefined
reference to `emlrtMxGetData'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2125): undefined
reference to `emlrtDestroyArray'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x212e): undefined
reference to `emlrtDestroyArray'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2137): undefined
reference to `emlrtDestroyArray'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2140): undefined
reference to `emlrtAliasP'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2160): undefined
reference to `emlrtAliasP'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2180): undefined
reference to `emlrtAliasP'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x21a0): undefined
reference to `emlrtAliasP'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x233e): undefined
reference to `emlrtEnterRtStackR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2346): undefined
reference to `emlrtLeaveRtStackR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2352): undefined
reference to `emlrtDestroyRootTLS'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x235e): undefined
reference to `emlrtExitTimeCleanup'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x23a6): undefined
reference to `emlrtGetBreakCheckFlagAddressR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x23c8): undefined
reference to `emlrtClearAllocCountR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x23d0): undefined
reference to `emlrtEnterRtStackR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x23dc): undefined
reference to `emlrtFirstTimeR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x23e1): undefined
reference to `omp_in_parallel'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x23ec): undefined
reference to `emlrtEnterParallelRegion'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x23f1): undefined
reference to `omp_in_parallel'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x23fc): undefined
reference to `emlrtEnterParallelRegion'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2417): undefined
reference to `omp_get_max_threads'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2420): undefined
reference to `omp_in_parallel'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x242b): undefined
reference to `emlrtExitParallelRegion'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x2430): undefined
reference to `omp_in_parallel'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x243b): undefined
reference to `emlrtExitParallelRegion'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x247f): undefined
reference to `omp_in_parallel'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x248a): undefined
reference to `emlrtEnterParallelRegion'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x248f): undefined
reference to `omp_in_parallel'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x249a): undefined
reference to `emlrtEnterParallelRegion'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x24b0): undefined
reference to `omp_get_max_threads'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x24b9): undefined
reference to `omp_in_parallel'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x24c4): undefined
reference to `emlrtExitParallelRegion'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x24c9): undefined
reference to `omp_in_parallel'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x24d4): undefined
reference to `emlrtExitParallelRegion'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x24dc): undefined
reference to `emlrtLeaveRtStackR2012b'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para.obj:grain_struct_grower_para.cpp:(.text+0x24e8): undefined
reference to `emlrtDestroyRootTLS'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para_mexutil.obj:grain_struct_grower_para_mexutil.cpp:(.text+0x31):
undefined reference to `omp_set_lock'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\grain_struct_grower_para_mexutil.obj:grain_struct_grower_para_mexutil.cpp:(.text+0x4d):
undefined reference to `omp_unset_lock'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0xa6):
undefined reference to `emlrtCreateStructMatrix'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0xb8):
undefined reference to `emlrtCreateLogicalMatrix'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0xc8):
undefined reference to `emlrtMxCreateString'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0xdc):
undefined reference to `emlrtSetField'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0xe9):
undefined reference to `emlrtMxCreateDoubleScalar'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0xfd):
undefined reference to `emlrtSetField'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x10a):
undefined reference to `emlrtMxCreateDoubleScalar'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x11a):
undefined reference to `emlrtSetField'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x12b):
undefined reference to `emlrtSetField'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x137):
undefined reference to `emlrtMxCreateString'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x147):
undefined reference to `emlrtSetField'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x154):
undefined reference to `emlrtMxCreateDoubleScalar'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x164):
undefined reference to `emlrtSetField'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x17d):
undefined reference to `emlrtCreateStructMatrix'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x18c):
undefined reference to `emlrtMxCreateString'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x19c):
undefined reference to `emlrtSetField'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x1ce):
undefined reference to `emlrtNameCaptureMxArrayR2016a'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x1df):
undefined reference to `emlrtSetField'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_info.obj:_coder_grain_struct_grower_para_info.cpp:(.text+0x1f3):
undefined reference to `emlrtSetField'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x78):
undefined reference to `emlrtErrMsgIdAndTxt'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0xa5):
undefined reference to `emlrtReturnArrays'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0xec):
undefined reference to `emlrtErrMsgIdAndTxt'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x153):
undefined reference to `emlrtLoadLibrary'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x15f):
undefined reference to `omp_init_lock'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x16b):
undefined reference to `omp_init_nest_lock'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x1a1):
undefined reference to `omp_destroy_lock'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x1ad):
undefined reference to `omp_destroy_nest_lock'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x1ca):
undefined reference to `omp_destroy_lock'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x1d6):
undefined reference to `omp_destroy_nest_lock'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x1df):
undefined reference to `emlrtReportParallelRunTimeError'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x209):
undefined reference to `omp_get_num_procs'
C:\Users\mlaub\AppData\Local\Temp\mex_2843770821395138_3468\_coder_grain_struct_grower_para_mex.obj:_coder_grain_struct_grower_para_mex.cpp:(.text+0x226):
undefined reference to `emlrtCreateRootTLS'
collect2.exe: error: ld returned 1 exit status
 I dont get why emlrtAlias and many other cand be found, the folder extern/include where this header is, is named in the path at the top. I can even copy the emlrt.h into the directory where the cpp's are and it still says the same error.
exist('...\emlrt.h', 'file')=2, so the file is there...
Whats the problem?
  gregory pais
 2022년 6월 7일
				
      편집: gregory pais
 2022년 6월 7일
  
			mex compiler indicates you that functions emlrt are not found. To solve it you have to indicate to the linker where these functions are present. These functions are present in libemlrt.lib under matlabroot\extern\lib\mingw64. You have to add the library file to the mex command like this mex -v *.cpp '-llibemlrt'.
Probably you have to add libmwmathutil where muDouble functions like muDoubleScalarMin are defined.
mex -v *.cpp '-llibemlrt' '-llibmwmathutil'
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 C Shared Library Integration에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!오류 발생
페이지가 변경되었기 때문에 동작을 완료할 수 없습니다. 업데이트된 상태를 보려면 페이지를 다시 불러오십시오.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
아시아 태평양
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)



