Утверждение CGIR ‘fitsType & lt; size_t & gt; ()’ не выполнено

У меня есть модель Simulink, которую я пытаюсь сгенерировать в C ++ dll. Я успешно скомпилировал подобные модели, но эта дает мне следующие ошибки:

CGIR assertion 'fitsType<size_t>()' failed in 'b:\matlab\derived\win32\src\include\cg_ir\util_prim\../../../../../../src/cg_ir/export/include/cg_ir/util_prim/Size64.hpp:125'
[  0] 0x5d20bde3            C:\MATLABR2011b_x86\bin\win32\cg_ir.dll+00769507 ( CG::Scope::treeStackSize+000019 )
[  1] 0x5d200b68            C:\MATLABR2011b_x86\bin\win32\cg_ir.dll+00723816 ( CG::Fcn::stackSize+000024 )
[  2] 0x590d36e2       C:\MATLABR2011b_x86\bin\win32\cgir_xform.dll+02242274 ( CG::EnforceStackLimit::getFcnStackSize+000034 )
[  3] 0x590d390a       C:\MATLABR2011b_x86\bin\win32\cgir_xform.dll+02242826 ( CG::EnforceStackLimit::initialize_fcn_stack_size_info+000234 )
[  4] 0x590d42bb       C:\MATLABR2011b_x86\bin\win32\cgir_xform.dll+02245307 ( CG::EnforceStackLimit::EnforceStackLimit+000219 )
[  5] 0x59384cc2            C:\MATLABR2011b_x86\bin\win32\rtwcg.dll+00806082 ( RTWCG::getBlockParameterURLString+004434 )
[  6] 0x59385e3b            C:\MATLABR2011b_x86\bin\win32\rtwcg.dll+00810555 ( RTWCG::getBlockParameterURLString+008907 )
[  7] 0x593706f1            C:\MATLABR2011b_x86\bin\win32\rtwcg.dll+00722673 ( RTWCG::RTWFcnConst::OptimizeAndEmitCode+007777 )
[  8] 0x5933085d            C:\MATLABR2011b_x86\bin\win32\rtwcg.dll+00460893 ( RTWCG::RTWCGModule::OptimizeAndEmitCode+000125 )
[  9] 0x5a6f9ecd    C:\MATLABR2011b_x86\bin\win32\libmwsimulink.dll+08298189 ( BlockSetCheckVarDimsInputEmpty+066381 )
[ 10] 0x5a6f6f97    C:\MATLABR2011b_x86\bin\win32\libmwsimulink.dll+08286103 ( BlockSetCheckVarDimsInputEmpty+054295 )
[ 11] 0x5a74aa02    C:\MATLABR2011b_x86\bin\win32\libmwsimulink.dll+08628738 ( sleGetRTWBlockForSLBlock+262210 )
[ 12] 0x5a74af9f    C:\MATLABR2011b_x86\bin\win32\libmwsimulink.dll+08630175 ( sleGetRTWBlockForSLBlock+263647 )
[ 13] 0x5a23b9c5    C:\MATLABR2011b_x86\bin\win32\libmwsimulink.dll+03324357 ( ArrayToSLObject+481685 )
[ 14] 0x025dea8c     C:\MATLABR2011b_x86\bin\win32\m_dispatcher.dll+00060044 ( mdLogging::log_function_exit+000108 )
[ 15] 0x025de561     C:\MATLABR2011b_x86\bin\win32\m_dispatcher.dll+00058721 ( Mfunction_handle::dispatch+000401 )
### Build procedure for model: 'vcts_auxiSns' aborted due to an error.

Я также получаю следующее сообщение об ошибке в диалоговом окне:

Unexpected or internal error encountered in "in CGIR: b:\matlab\derived\win32\src\include\cg_ir\util_prim\../../../../../../src/cg_ir/export/include/cg_ir/util_prim/Size64.hpp line 125: fitsType<size_t>()
". Please report this to MathWorks if you can cause it to recur

ОБНОВИТЬ:

Теперь я смог найти проблему, и кажется, что есть проблема с конкретным сигналом. На изображении ниже показана небольшая часть подсистемы, и, когда один из трех сигналов в красном поле разрешен для прохождения, модель не может быть сгенерирована кодом. Как только я нарушаю все три сигнала, генерация кода работает.

Часть модели, где возникает ошибка
К сожалению, мне не удалось решить проблему, поэтому я все еще хочу услышать любые и все предложения!

1

Решение

Оказывается, это была ошибка с распространением сигнала при генерации кода в Matlab 2011b. Согласно Mathworks это было решено в 2012a и позже, поэтому я обновил до 2013b. Теперь я больше не получаю эту ошибку.

1

Другие решения

Оказывается, что если он выдаст такую ​​ошибку, то вы удалите папки slprj и «programName_etl_hrt», в которых вы скомпилировали или попытались скомпилировать, и эта ошибка больше не будет появляться.

У меня была эта ошибка несколько раз, вам просто нужно удалить эти папки, не беспокойтесь, simulink восстановит их снова для вас

0

По вопросам рекламы [email protected]