Tema: Re: MEX failas
Autorius: Grzegorz Brzęczyszczykiewicz
Data: 2019-08-17 02:47:26
2019-08-12 17:12, Laimis rašė:

> Tą ir turėjau omenyje: reikia krūvos include'inamų katalogų, link'inamų
> (matlab'o ir išorinių) bibliotekų, galbūt dar kažkokių specifinių
> -Define'ų ir/ar kompiliatoriaus/linker'io opcijų. Konkrečiu atveju, kaip
> suprantu iš mex eilutės, libutil.a yra išorinė statinė biblioteka (viena
> iš) su kuria reikia sulink'inti, tad kaip minimum -lutil.

>> mex.getCompilerConfigurations('cpp','Selected')

ans =

  CompilerConfiguration with properties:

             Name: 'Cygwin Compiler (C++)'
     Manufacturer: 'GNU'
         Language: 'C++'
          Version: '7.4.0'
         Location: 'C:\cygwin64'
        ShortName: 'cygwin64-g++'
         Priority: 'E'
          Details: [1×1 mex.CompilerConfigurationDetails]
       LinkerName: 'C:\cygwin64\bin\g++'
    LinkerVersion: ''
           MexOpt:
'C:\Users\ejs\AppData\Roaming\MathWorks\MATLAB\R2019a\mex_C++_win64.xml'

>> ans.Details

ans =

  CompilerConfigurationDetails with properties:

         CompilerExecutable: 'C:\cygwin64\bin\g++'
              CompilerFlags: '-fexceptions -fno-omit-frame-pointer
-std=c++11'
          OptimizationFlags: '-O2 -fwrapv -DNDEBUG'
                 DebugFlags: '-g'
           LinkerExecutable: 'C:\cygwin64\bin\g++'
                LinkerFlags: '-m64 -Wl,--no-undefined -shared -static'
    LinkerOptimizationFlags: '-s'
           LinkerDebugFlags: '-g'
                     SetEnv: 'set COMPILER=C:\cygwin64\bin\gcc↵
       set CXXCOMPILER=C:\cygwin64\bin\g++↵                set
COMPFLAGS=-c -fexceptions -fno-omit-frame-pointer -m64 -DMATLAB_MEX_FILE
 -DMATLAB_MEX_FILE ↵                set CXXCOMPFLAGS=-c -fexceptions
-fno-omit-frame-pointer -std=c++11 -m64 -DMATLAB_MEX_FILE
-DMATLAB_MEX_FILE ↵                set OPTIMFLAGS=-O2 -fwrapv -DNDEBUG↵
               set DEBUGFLAGS=-g↵                set
LINKER=C:\cygwin64\bin\gcc↵                set
CXXLINKER=C:\cygwin64\bin\g++↵                set LINKFLAGS=-m64
-Wl,--no-undefined -shared -static -L"C:\Program
Files\MATLAB\R2019a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat
-lm -llibmwlapack -llibmwblas -llibMatlabDataArray -llibMatlabEngine
-Wl,"C:\Program
Files\MATLAB\R2019a/extern/lib/win64/mingw64/mexFunction.def"↵
      set LINKDEBUGFLAGS=-g↵                set NAME_OUTPUT= -o
"%OUTDIR%%MEX_NAME%%MEX_EXT%"↵set PATH=C:\cygwin64\bin;C:\Program
Files\MATLAB\R2019a\extern\include\win64;C:\Program
Files\MATLAB\R2019a\extern\include;C:\Program
Files\MATLAB\R2019a\simulink\include;C:\Program
Files\MATLAB\R2019a\lib\win64;%MATLAB_BIN%;%PATH%↵set
INCLUDE=C:\cygwin64\include;C:\cygwin64\lib\gcc\x86_64-pc-cygwin\7.4.0\include\c++;C:\cygwin64\lib\gcc\x86_64-pc-cygwin\7.4.0\include;C:\cygwin64\lib\gcc\x86_64-pc-cygwin\7.4.0\include\c++\x86_64-pc-cygwin;C:\cygwin64\lib\gcc\x86_64-pc-cygwin\7.4.0\include\c++\backward;C:\cygwin64\x86_64-pc-cygwin\include;%INCLUDE%↵set
LIB=C:\cygwin64\lib;;%LIB%↵set LIBPATH=C:\Program
Files\MATLAB\R2019a\extern\lib\win64;%LIBPATH%↵'
           CommandLineShell: 'set MINGW_ROOT_PATH=C:\cygwin64'
        CommandLineShellArg: ''


>> ans.Details.SetEnv

ans =

    'set COMPILER=C:\cygwin64\bin\gcc
                     set CXXCOMPILER=C:\cygwin64\bin\g++
                     set COMPFLAGS=-c -fexceptions
-fno-omit-frame-pointer -m64 -DMATLAB_MEX_FILE  -DMATLAB_MEX_FILE
                     set CXXCOMPFLAGS=-c -fexceptions
-fno-omit-frame-pointer -std=c++11 -m64 -DMATLAB_MEX_FILE
-DMATLAB_MEX_FILE
                     set OPTIMFLAGS=-O2 -fwrapv -DNDEBUG
                     set DEBUGFLAGS=-g
                     set LINKER=C:\cygwin64\bin\gcc
                     set CXXLINKER=C:\cygwin64\bin\g++
                     set LINKFLAGS=-m64 -Wl,--no-undefined -shared
-static -L"C:\Program Files\MATLAB\R2019a\extern\lib\win64\mingw64"
-llibmx -llibmex -llibmat -lm -llibmwlapack -llibmwblas
-llibMatlabDataArray -llibMatlabEngine -Wl,"C:\Program
Files\MATLAB\R2019a/extern/lib/win64/mingw64/mexFunction.def"
                     set LINKDEBUGFLAGS=-g
                     set NAME_OUTPUT= -o "%OUTDIR%%MEX_NAME%%MEX_EXT%"
     set PATH=C:\cygwin64\bin;C:\Program
Files\MATLAB\R2019a\extern\include\win64;C:\Program
Files\MATLAB\R2019a\extern\include;C:\Program
Files\MATLAB\R2019a\simulink\include;C:\Program
Files\MATLAB\R2019a\lib\win64;%MATLAB_BIN%;%PATH%
     set
INCLUDE=C:\cygwin64\include;C:\cygwin64\lib\gcc\x86_64-pc-cygwin\7.4.0\include\c++;C:\cygwin64\lib\gcc\x86_64-pc-cygwin\7.4.0\include;C:\cygwin64\lib\gcc\x86_64-pc-cygwin\7.4.0\include\c++\x86_64-pc-cygwin;C:\cygwin64\lib\gcc\x86_64-pc-cygwin\7.4.0\include\c++\backward;C:\cygwin64\x86_64-pc-cygwin\include;%INCLUDE%
     set LIB=C:\cygwin64\lib;;%LIB%
     set LIBPATH=C:\Program Files\MATLAB\R2019a\extern\lib\win64;%LIBPATH%
     '


-- 
Grzegorz

Chrząszczyrzewoszyce, powiat Łękołody
3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser