Ошибка компоновщика при компиляции mex с помощью mingw-w64

Я пытаюсь настроить Mingw-w64 в качестве mex-компилятора в MATLAB 2013a. Мой ноутбук имеет архитектуру x86_64 и работает под управлением Windows 7. Программа, которую я хочу скомпилировать, использует многопоточность в стиле c ++ 11, поэтому я использую mingw-w64 версии 4.9.0 с потоками posix.

По инструкции я нашелВот а такжеВотЯ изменил свой файл mexopts.bat. Кажется, код успешно скомпилирован, но компоновщик сообщает об ошибке. У кого-нибудь есть предложения, что я могу делать не так?

Кстати, я пытался использовать gnumex для настройки компилятора, но это тоже не сработало.

Вот вывод и сообщение об ошибке, которое дает MATLAB:

>mex -v Gomoku_mex.cpp
-> Default options filename found in C:\Users\Bas\AppData\Roaming\MathWorks\MATLAB\R2013a 
-> Options file = C:\Users\Bas\AppData\Roaming\MathWorks\MATLAB\R2013a\mexopts.bat
      MATLAB                 = C:\Program Files\MATLAB\R2013a
->    COMPILER               = x86_64-w64-mingw32-g++ 
->    Compiler flags: 
      COMPFLAGS           = -std=c++11 -fexceptions -I"C:\Program Files\MATLAB\R2013a\extern\include" 
      OPTIMFLAGS          = -O3 -fexpensive-optimizations -DNDEBUG 
      DEBUGFLAGS          = -g -Wall -Wextra 
      arguments           =  
      Name switch         = -o 
->    Pre-linking commands=  
->    LINKER              = x86_64-w64-mingw32-g++ 
->    Link directives: 
      LINKFLAGS           =  -shared mex.def -L"C:\Program Files\MATLAB\R2013a\bin\win64" -static-libstdc++ 
      LINKDEBUGFLAGS      =  -g -Wall 
      LINKFLAGSPOST       =  -lmex -lmx -lmat -lmwlapack -lmwblas 
      Name directive      = -o "Gomoku_mex.mexw64" 
      File link directive =  
      Lib. link directive =  
      Rsp file indicator  =  
->    Resource Compiler   =   
->    Resource Linker     =   
---------------------------------------------------------------- 

--> x86_64-w64-mingw32-g++  -std=c++11 -fexceptions -I"C:\Program Files\MATLAB\R2013a\extern\include" -oC:\Users\Bas\AppData\Local\Temp\mex_r7jRw0\Gomoku_mex.obj -I"C:\Program Files\MATLAB\R2013a\extern\include" -I"C:\Program Files\MATLAB\R2013a\simulink\include" -O3 -fexpensive-optimizations -DNDEBUG -DMX_COMPAT_32 Gomoku_mex.cpp 

C:\Users\Bas\AppData\Local\Temp\cc4hwD3A.o:Gomoku_mex.cpp:(.text+0x9d1c): undefined reference to `mxGetPr' 
C:\Users\Bas\AppData\Local\Temp\cc4hwD3A.o:Gomoku_mex.cpp:(.text+0x9d83): undefined reference to `mxCreateDoubleScalar' 
C:/PROGRA~1/mingw-w64/x86_64-4.9.0-posix-seh-rt_v3-rev2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Bas\AppData\Local\Temp\cc4hwD3A.o: bad reloc address 0x0 in section `.pdata$_ZNKSt5ctypeIcE8do_widenEc' 
collect2.exe: error: ld returned 1 exit status 

  C:\PROGRA~1\MATLAB\R2013A\BIN\MEX.PL: Error: Compile of 'Gomoku_mex.cpp' failed. 

Error using mex (line 206)
Unable to complete successfully. 

Изменить: В качестве дополнительной информации, это мой файл mexopts.bat. Я получил это непосредственно по одной из двух ссылок выше и изменил имена каталогов и компиляторов и добавил -std = c ++ 11

set MATLAB=%MATLAB%
set PATH=%PATH%;C:\PROGRA~1\mingw-w64\x86_64-4.9.0-posix-seh-rt_v3-rev2\mingw64\bin
set MW_TARGET_ARCH=win64

rem ********************************************************************
rem Compiler parameters
rem ********************************************************************
set COMPILER=x86_64-w64-mingw32-g++
set COMPFLAGS=-std=c++11 -fexceptions -I"%MATLAB%\extern\include" 
set OPTIMFLAGS=-O3 -fexpensive-optimizations -DNDEBUG
set DEBUGFLAGS=-g -Wall -Wextra 
set NAME_OBJECT=-o 

rem ********************************************************************
rem Linker parameters
rem ********************************************************************
set PRELINK_CMDS1=echo EXPORTS > mex.def & echo mexFunction >> mex.def
set LINKER=x86_64-w64-mingw32-g++
set LINKFLAGS= -static-libstdc++ -shared mex.def -L"%MATLAB%\bin\win64" -L"%MATLAB%\extern\lib\win64\microsoft" 
set LINKFLAGSPOST= -lmex -lmx -lmat -lmwlapack -lmwblas 
set LINKOPTIMFLAGS=-O3 
set LINKDEBUGFLAGS= -g -Wall
set LINK_FILE=
set LINK_LIB=
set NAME_OUTPUT=-o "%OUTDIR%%MEX_NAME%%MEX_EXT%"
set RSP_FILE_INDICATOR=
set POSTLINK_CMDS1=del mex.def

Ответы на вопрос(2)

Ваш ответ на вопрос