Код: Выделить всё
// test_mex.cpp
#include "mex.h"
import std;
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
std::string temp{std::format("{:.2f}", 21.234)};
mexPrintf("%s\n", temp.c_str());
plhs[0] = mxCreateDoubleMatrix(10, 10, mxREAL);
}
< /code>
Скомпилируется с < /p>
!cl /std:c++latest /O2 /Oi /EHsc /MD /nologo /c -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt" -I"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include" "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\modules\std.ixx"
mex -O COMPFLAGS="$COMPFLAGS -std:c++latest /O2 /Oi /EHsc /Wall /MD" test_mex.cpp;
< /code>
дает эту ошибку < /p>
Error using mex
Creating library test_mex.lib and object test_mex.exp
test_mex.obj : error LNK2019: unresolved external symbol "public: static int const std::_General_precision_tables_2::_Max_P" (?_Max_P@?$_General_precision_tables_2@N@std@@2HB) referenced in function "struct std::to_chars_result __cdecl std::_Floating_to_chars_general_precision(char *,char * const,double,int)" (??$_Floating_to_chars_general_precision@N@std@@YA?AUto_chars_result@0@PEADQEADNH@Z)
test_mex.obj : error LNK2019: unresolved external symbol "public: static int const std::_General_precision_tables_2::_Max_P" (?_Max_P@?$_General_precision_tables_2@M@std@@2HB) referenced in function "struct std::to_chars_result __cdecl std::_Floating_to_chars_general_precision(char *,char * const,float,int)" (??$_Floating_to_chars_general_precision@M@std@@YA?AUto_chars_result@0@PEADQEADMH@Z)
test_mex.mexw64 : fatal error LNK1120: 2 unresolved externals
Кроме того, вместо использования модуля, если вы замените Import Std; #include . C ++ 2022 Компилятор.
Подробнее здесь: https://stackoverflow.com/questions/797 ... a-mex-file
Мобильная версия