许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab混合编译:关于Matlab混合编译的全面介绍

Matlab混合编译:关于Matlab混合编译的全面介绍

阅读数 10
点赞 0
article_banner

(1)MEX 命令一般借助第三方编译器编译C/C++程序

(2)COMPFLAGS用于替换默认的编译选项

(3)默认编译选项文件的目录

32位系统:matlabroot\bin\win32\mexopts

64位系统:matlabroot\bin\win64\mexopts

(4)mex testparallel.c COMPFLAGS="$COMPFLAGS /openmp"

编译时增加 /openmp选项

(5)𝐶𝑂𝑀𝑃𝐹𝐿𝐴𝐺𝑆与编译选项文件中的项对应,比如打开𝑚𝑠𝑣𝑐90𝑜𝑝𝑡𝑠.𝑏𝑎𝑡,可在其中找到𝐶𝑂𝑀𝑃𝐹𝐿𝐴𝐺𝑆和𝐿𝐼𝑁𝐾𝐹𝐿𝐴𝐺𝑆等变量,这些变量在𝑚𝑒𝑥参数中采用  COMPFLAGS 与  编  译  选  项  文  件  中  的  项  对  应  ,  比  如  打  开 msvc90opts.bat ,  可  在  其  中  找  到 COMPFLAGS 和 LINKFLAGS 等  变  量  ,  这  些  变  量  在 mex 参  数  中  采  用  COMPFLAGS和LINKFLAGS代替。

@echo off

rem MSVC90OPTS.BAT

rem

rem    Compile and link options used for building MEX-files

rem    using the Microsoft Visual C++ compiler version 9.0 SP1

rem

rem    𝑅𝑒𝑣𝑖𝑠𝑖𝑜𝑛:1.1.6.9  Revision:1.1.6.9   𝐷𝑎𝑡𝑒:2011/03/0905:35:36  Date:2011 / 03 / 0905:35:36

rem    Copyright 2007-2009 The MathWorks, Inc.

rem

rem StorageVersion: 1.0

rem C++keyFileName: MSVC90OPTS.BAT

rem C++keyName: Microsoft Visual C++ 2008

rem C++keyManufacturer: Microsoft

rem C++keyVersion: 9.0

rem C++keyLanguage: C++

rem

rem ********************************************************************

rem General parameters

rem ********************************************************************

set MATLAB=%MATLAB%

set VSINSTALLDIR=%VS90COMNTOOLS%\..\..

set VCINSTALLDIR=%VSINSTALLDIR%\VC

rem In this case, LINKERDIR is being used to specify the location of the SDK

set LINKERDIR='.registry_lookup("SOFTWARE\Microsoft\Microsoft SDKs\Windows" , "CurrentInstallFolder").'

set PATH=%VCINSTALLDIR%\bin\amd64;%LINKERDIR%\bin\x64;%VCINSTALLDIR%\BIN;%VSINSTALLDIR%\Common7\Tools;%VSINSTALLDIR%\Common7\Tools\bin;%MATLAB_BIN%;%PATH%

set INCLUDE=%LINKERDIR%\include;%VCINSTALLDIR%\ATLMFC\INCLUDE;%VCINSTALLDIR%\INCLUDE;%VCINSTALLDIR%\VCPackages;%INCLUDE%

set LIB=%LINKERDIR%\LIB\x64;%VCINSTALLDIR%\LIB\amd64;%VCINSTALLDIR%\ATLMFC\LIB\amd64;%MATLAB%\extern\lib\win64;%LIB%

set MW_TARGET_ARCH=win64

rem ********************************************************************

rem Compiler parameters

rem ********************************************************************

set COMPILER=cl

set COMPFLAGS=/c /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MD

set OPTIMFLAGS=/O2 /Oy- /DNDEBUG

set DEBUGFLAGS=/Z7

set NAME_OBJECT=/Fo

rem ********************************************************************

rem Linker parameters

rem ********************************************************************

set LIBLOC=%MATLAB%\extern\lib\win64\microsoft

set LINKER=link

set LINKFLAGS=/dll /export:%ENTRYPOINT% /LIBPATH:"%LIBLOC%" libmx.lib libmex.lib libmat.lib /MACHINE:X64 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /incremental:NO /implib:"%LIB_NAME%.x" /MAP:"%OUTDIR%%MEX_NAME%%MEX_EXT%.map"

set LINKOPTIMFLAGS=

set LINKDEBUGFLAGS=/DEBUG /PDB:"%OUTDIR%%MEX_NAME%%MEX_EXT%.pdb"

set LINK_FILE=

set LINK_LIB=

set NAME_OUTPUT=/out:"%OUTDIR%%MEX_NAME%%MEX_EXT%"

set RSP_FILE_INDICATOR=@

rem ********************************************************************

rem Resource compiler parameters

rem ********************************************************************

set RC_COMPILER=rc /fo "%OUTDIR%mexversion.res"

set RC_LINKER=

set POSTLINK_CMDS=del "%LIB_NAME%.x" "%LIB_NAME%.exp"

set POSTLINK_CMDS1=mt -outputresource:"%OUTDIR%%MEX_NAME%%MEX_EXT%;2" -manifest "%OUTDIR%%MEX_NAME%%MEX_EXT%.manifest"

set POSTLINK_CMDS2=del "%OUTDIR%%MEX_NAME%%MEX_EXT%.manifest"

set POSTLINK_CMDS3=del "%OUTDIR%%MEX_NAME%%MEX_EXT%.map"


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空