QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 13914|回复: 3
打印 上一主题 下一主题

[其他资源] matlab生成exe文件(总结)

[复制链接]
字体大小: 正常 放大
我能 实名认证    中国数模人才认证   

24

主题

8

听众

2288

积分

升级  9.6%

  • TA的每日心情
    慵懒
    2023-4-27 19:48
  • 签到天数: 321 天

    [LV.8]以坛为家I

    社区QQ达人

    群组中国矿业大学数模培训

    群组数学建模培训课堂2

    群组2011年第一期数学建模

    群组学术交流B

    跳转到指定楼层
    1#
    发表于 2012-11-2 13:08 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    matlab功能相当的强大,写好了m文件但是其他很多电脑没有安装matalb,不能运行,所以我们想找到生成exe的可执行文件,我么就想到了和c语言c++进行混合编程,在windows下生成exe文件,matlab和vs等的文章很少大都是那几个 ,我自己在网上找了些东西总结了下:
    ( d# i  k3 Y  l: Y1 S5 d/ x) C( Z  I# k
    1.Matlab环境设置
    要建立独立运行的C应用程序,系统中需要安装MatlabMatlab编译器、C/C++编译器以及Matlab C/C++数学库函数和图形库函数。4 ]5 ~' F( m, g) `" j9 Q: O
    Matlab编译器使用mbuild命令可以直接将C/C++源代码编译为独立运行程序,在这些源代码中可以使用Matlab提供的接口来调用Matlab数学库函数。
    0 J2 ^* n' D. G3 i3 l9 T
    虽然生成的可执行程序可以脱离Matlab环境运行,但是它需要Matlab C/C++数学库文件或者图形库文件的支持才能运行。但如果C/C++源代码完全是按传统C/C++源代码语法规则编写,没有包含Matlab数学库和图形库的调用,则不仅可以独立与Matlab环境,也不需要那两个库函数的支持。
    Matlab Command Window 下输入命令
    mbuild – setup
    操作过程如下图:
                                  
    然后输入命令
    mex – setup
    以类似的方法配置编译器。Matlab 的配置完成。
    2.VS环境设置
    1)设置Include Library 目录
    项目右键->属性->VC++目录->包含目录:添加
    <MATLAB>\R2010b\extern\include\win64
    <MATLAB>\R2010b\extern\include\
    项目右键->属性->VC++目录->库目录:添加
    <MATLAB>\R2010b\extern\lib\win32\microsoft
    <MATLAB>\R2010b\extern\lib\win64\microsoft
    截图(部分):
    2)设置工程目录
    项目右键->属性->C/C++->常规->附件包含目录:添加
    <MATLAB>\R2010b\extern\include\win64
    <MATLAB>\R2010b\extern\include\
    项目右键->属性->链接器->常规:添加
    <MATLAB>\R2010b\extern\lib\win32\microsoft
    <MATLAB>\R2010b\extern\lib\win64\microsoft
    项目右键->属性->链接器->输入->附件依赖性:添加
    libeng.lib) k, C2 b8 c) L5 I7 m+ O" A
    libmat.lib2 ]( n3 ]+ k! G5 g2 f9 W9 c  V
    libmex.lib: ]6 s* _. r2 o# c
    libmx.lib
      
    注:1.lib文件包含在<MATLAB>\R2010b\extern\lib\win64\microsoft,可根据需要增减
    2.附件依赖性在VS2010前以空格隔开,在VS2010后使用;隔开。
    截图:
    项目右键->属性->链接器->高级->目标计算机:更改(只针对64WINDOWS
    MachineX86 -> MachineX64
    注:分析原因为MATLAB根据计算机平台选择了X64编译环境,如此处不修改会出现 错误3
    3)配置管理器设置(只针对64WINDOWS
    生成->配置管理器->平台:更改
    Win32->X64
    注:分析原因为配合链接器中目标计算机的修改,如此处不修改会出现 错误4
    截图:
    3.系统(Windows)环境设置
    我的电脑->属性->高级系统设置->高级->环境变量->Path,添加:
    <MATLAB>\R2010b\bin;<MATLAB>\R2010b\extern\lib\win64\microsoft;<MATLAB>\bin\win64
    注:1.Windows7的情况下,用户变量系统
    变量都需 添加,如不添加,运行时会出现 错误5
    2.哈哈,别忘记重启哈,重启后生效
    OK!配置就此结束,现在就开始engOpen吧!!对了,别忘记添加#include "engine.h"

    8 L1 s% \+ Z1 ^9 o" [7 H3 @+ ~2 V  
    / Y# q. u; v0 Q! e: i3 j- m1.设置编译器:1 U6 Q2 f- r5 O
    在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:
    & Q( K; O/ X" ~Mbuild –setup, 按提示选择matlab自带编译器LCC。
    ' ^/ g8 X, x8 ~' I/ q& h! b' z- U
    , M$ i9 U0 \! g, B  y% W  i2.将脚本编译为可执行文件:* o  M) o6 I3 {' ~, c/ J
    如项目文件包含:gui.m, gui.gif, fun1.m。
    2 f) B! a  {0 k- j
    " B- W  [$ f* |6 D; ^: ~5 b* i在此路径下命令行输入:mcc –m gui.m,生 成:mccExcludedFiles.log,ReadMe.txt,gui.ctf,gui.prj,gui_main.c,gui_mcc_component_data.c,gui.exe。其中:gui.ctf,gui.exe为脱离matlab环境运行必需的文件。
    6 `6 |% D& o& p) n0 D
    " U5 e, a3 D, s" _. I3.在未安装matlab的机器上运行可执行程序。
    $ N6 }2 M+ z" A将R22007b\toolbox\compiler\deploy\win32中的MCRinstaller.exe安装到该计算机上,将生成可执行程序脱离matlab运行所需的函数库。% h) o" X4 J6 m/ V
    将2中生成的gui.ctf,gui.exe拷贝到该计算机同一路径。运行gui.exe将生成gui_mcr文件夹,包含程序运行所需的库。至此完成。/ c1 U9 _2 M7 J6 x6 B( F& l  J

    4 \  m( C( w: D" p4.去除独立可执行程序运行时的“DOS黑窗口”。) q. v) B9 ?* g0 ~2 M  X' y, p' p
    以上生成的exe程序运行时首先弹出一个DOS界面窗口,如果不需要其输出数据和错误信息,可将其去除。9 |8 T7 i& M# y# m' c% b7 G

    * I4 n  R/ G' v9 O: n$ N7 N- Qmatlba命令行输入:# {0 h# x% |# f& }
    . n  I; F+ u' P  m9 c9 ^8 h
    cd(prefdir)
    ) Y, @$ s9 k1 ]/ Hedit compopts.bat
    ; p& M4 _% d$ X- ^4 @7 v0 j+ O: g( K( ^( L
    此时compopts.bat打开,在文件最后添加:5 \# @& E$ H( F$ |3 Z

    / p1 b" v( C/ h3 X8 y4 nset LINKFLAGS=%LINKFLAGS% -subsystem windows
    % y( s0 H+ }2 Z
    ' U2 x" X1 j! F' g: M如果程序比较复杂,易出现异常,则不建议去除这个dos窗口以便调试。
    6 c: \" ^! H5 D) b/ j9 L; R2 d4 ^
    另外,这个办法是适用于你用的编译器为LCC,如果是其他的,那么所加语句有所不同
    % k( N. L3 {* \  f$ O+ K# N3 P# n  n4 z- x  q3 ^. {& A3 m) D
    Microsoft Visual C/C++:+ j. I: j8 R: ?! q6 c7 F- E! |2 w4 c

    9 f2 @* z) F; @" xset LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup; y2 n  ~4 m! q' ?# y

    * j$ Q- T- H) g! c* x0 ?2 N) yBorland:- P8 x2 r2 I3 }0 e: `/ i, f
    1 m5 Q9 B% f. ?( [$ D
    set LINKFLAGS=%LINKFLAGS% -aa* A$ c) Y9 F. v" C; a
    ———————————————————————————————————————–2 a+ p- {! `, ^' m# y9 i! V  ]
    4 j' W: Z9 {$ v! L# [
    方法一:
    & s$ a/ t! j$ M5 w) F2 W% h. `已有gui.m文件和gui.fig文件6 N8 F3 E3 Y( }6 p' ~  J& ?3 L
    1 在matlab的command窗口中输入
    7 W( h) y$ w0 Z0 t# u) t  Fmcc -B sgl GUI.m
    ! d3 j+ M% v6 x/ M2 l2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器  V# a5 {7 Y3 y
    ( [. O) J* ]2 n0 u( q
    此时仍需matlab所必需的动态连接库。
    ! G+ ~" C. b* y3. 将 /extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上2 f7 x6 H7 Q) P% u" d4 Y
    4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在将在指定目录下解压缩出bin和toolbox两个子目录,
    * |7 h: b+ O2 c: h! c其中在bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共
    , f' M, C- G! \8 K有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。
    * Q1 J& `; F7 g! x  M  K: |; W8 h而toolbox目录则必须与应用程序同一目录。' J! r( g4 g) P$ g
    , q3 v" C6 R: y% n9 ?0 o
    方法二:
    2 q  P& F0 d$ u* Z. `6 q2 }/ x
    + |9 [- {9 z8 U+ }: S" Z8 ^matlab编程很方便,强大的矩阵运算功能,很多好用的工具箱,但是一般程序都要在matlab环境中运行,能否脱离这个环境打包发布呢,matlab 也提供了这样的工具。
    4 l; D/ N" f5 i) y  F  b% \+ D
    5 J. ]1 U% J9 W0 I: I2 k7 D8 k# r1. 转化为c/c++程序并编译为.exe: V* G. ?, q2 _0 f. p
    先验证mcc是否可用,用matlab中的example验证即可- ?3 ^5 w% }" X  @* ?9 {
    建议不用matlab默认的lcc 编译器(可能有问题),可使用VC6编译器(按默认路径安装)
    / h, I* s8 d+ p4 H# h7 @由于带有界面,需要图像库支持,编译时应使用命令: mcc -B sglcpp pressure
    9 i* p' g" |) N1 _$ I7 h编译生成若干c/c++源码,以及.exe文件、bin目录中figure菜单条/工具条文件(.fig)等4 c; J5 Y+ ~: f4 h
    程序发布需要.exe、bin\、.fig1 `1 z6 `0 V/ x$ L- s6 P) a
    # L9 u4 r8 p) ^
    2. 在未装matlab的电脑上运行程序需要数学运行时库、图像运行时库以及用到的工具箱mex文件9 e) {$ [$ b1 Z: Y
    前两者已经在\matlab\extern\lib\win32mglinstaller.exe压缩包中,将其解压,并在环境变量path中添加解压到的路径$ R9 S  Z, T1 ^2 |! ~
    另外若程序中还用到其他工具箱的东西,那么需要将此工具箱中需要的mex文件也一并放在解压到的路径,子文件夹位置与matlab中的位置相同' [# @3 H7 b2 @) Q

    & ?; p  X' w( r2 Y3. 在确保.exe程序可以运行的情况下 可以用setup factory打包发布
    8 E3 T8 @+ h' c* ~3 z8 v; Y以下通过注册表自动添加path路径
    * _5 m7 n9 D5 Y9 {%————————————————————————————–
    $ M1 D. w1 a$ S2 n4 R6 _0 yScreen.Next(); — 进入下一个屏幕; c% E# y1 C% L1 G& U1 a6 E4 f
    resultDialog = Dialog.Message(“注意”, “向环境变量中加入matlab数学库及图象库的安装路径?”, MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);+ s: E9 C( w% S9 V, d; ~
    if (resultDialog == IDYES) then –加入安装路径  x+ ?4 d( h# P* d+ I/ e2 t
    strPath = Registry.GetValue(HKEY_CURRENT_USER, “Environment”, “path”, true);
    5 y, I( s. a) m5 e2 f% a$ @ if strPath ~= “” then- f% _2 u' p! l5 H: l4 z' d
    strPath = String.Concat(strPath, “;”);7 X8 b  A. C$ w( a( o: e( R
    end+ R$ e0 p0 P, C
    strPathToAdd = SessionVar.Expand(“%AppFolder%”);1 K# P- A# Z! w" F% e5 r2 r
    strPathToAdd = String.Concat(strPathToAdd,”file://MATLAB6p5//bin//win32″);
    & v3 O  ~& ?/ j— 如果路径中无该位置,则加入4 P$ F& e( g& S7 C2 D- J
    if String.Find(strPath,strPathToAdd) == -1 then- L7 p7 R0 v- q5 y
    strPath = String.Concat(strPath, strPathToAdd);
    0 X' w) [& ]5 l) s4 Z  o Registry.SetValue(HKEY_CURRENT_USER, “Environment”, “path”, strPath, REG_SZ);# k# N% V( ]+ i% G7 w  r
    end
    % v2 f! n0 ?2 b' y& j( y/ rend7 V# N3 G3 R9 I) u( Q8 k; D
    %————————————————————————————–
    ) q( Z* i% r. ?5 i2 ?方法三:4 u7 B+ W+ \# J+ n+ X
    在网上搜了一个方法,还没有用过, 贴在这里仅供参考:
    1 P! q1 ^8 T. J5 g! s4 T一、 完全可以,而且生成的.exe文件可以在没有安装matlab的机器上使用,方法吗---  q, z% g7 t/ L3 H
    首先,使用mcc编译得到.exe文件,具体参数见帮助文件;, Q& z! M) b% h( D3 K- `
    其次,将.exe文件及相关资源文件以及一个称为mglinstaller.exe的软件包一起拷到别的机器上,运行mglinstaller.exe,并添加环境变量path,即可执行.exe文件
    0 r0 C  I' O1 n4 s+ B* e2 e0 L第三,在MATLAB环境,执行命令, A3 I( S& ^, y- M3 E) x
    mcc -m -B sgl file.m
    + m+ B0 I; X" U  o# I7 _或者 mcc -p -B sglcpp file.m
    4 T' m$ m5 U1 {$ I+ H请键入help mcc看帮助。/ Y* Z1 \* e- f
    mcc是在“command windows” 用的吗?
    . D+ }- I( G' B, K9 I2 f0 d只要“mglinstaller.exe”,与.exe文件及相关资源文件就可以了吗.
    # R+ Q+ C' s3 o1 P! |- k还有“添加环境变量path”是path到.exe文件的环境中是吧?
    5 S- }- d) _8 X# ~: c0 G2 q0 m1 K" q7 p  n7 ^
    二、 在matlab下的workspace里打comtool,点file-open project将我们先前建好的 comtest.cbl工程文件打开,再点component–package component就实现了打包,此时到 comtest\distrib文件夹里看,生成的comtest.exe就是打包后的解压程序,双击它会解压出一些文件,再点击解压出来的 _install.bat就可以实现安装
    * H1 H- S, y5 y' o' o8 J三、 如何将gui生成exe ?% I3 v1 b' m9 _- I  J' I: _
    已有gui.m文件和gui.fig文件
    / [8 ~* W) ?3 I4 P  t1 在matlab的command窗口中输入' T# S; X' Y" u
    mcc -B sgl GUI.m9 d! d1 I+ K" d" R( H) ?) D
    2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器; O& M  U( m) n/ q' o
    此时仍需matlab所必需的动态连接库。! O/ }0 d5 {# @! h( E" F2 p% X
    3. 将 /extern/lib/win32 /mglinstallar.exel拷贝到到待运行机器上6 o/ l( y) X1 M/ d/ c% w1 B' k
    4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在指定目录下解压缩出bin和toolbox两子目录,其中在 bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。而toolbox目录则必须与应用程序同一目录。! Q# _+ p( n) e0 h0 j
    5.大功告成。 5 T% r$ Y/ t3 l- G& k& s

    ( L' S. |& g$ f; O外一篇:MATLAB M文件变exe文件
    / ?9 }1 T, }0 e4 ^) j. A  M我也是最近才搞定的这个问题,按下述步骤进行,就没有问题,我已经运行成功,但是遇到你程序的bug的话,便会出现错误,关闭整个程序' {3 r  C- E7 B( |9 b
    希望这些对你有用
    ( @) @' ]/ ?: h, L$ X. J( g0 R! m% X0 s2 i( r! t7 q
    如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?下面将一步步实现:
    & n( X; y" G. r
    - h6 S3 @: T+ @! F% O0 T一、生成独立可执行的程序(exe文件)步骤
    8 ~, c+ m" N: C/ b; g; b: C1 s  J( K3 e7 `: D
    1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2003实现。6 }7 K6 g8 l4 f1 B6 {& n' T3 }' S
    2、设置编译器。在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。7 T+ }4 N$ S" I1 b+ g
    3、调用编译器。此处使用MATLAB下的一个GUI平台deploytool下完全实现。在命令窗口输入deploytool即可看到。具体使用方法请Help。( n& p) p% ]- O
    当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件;
    ! _% |3 {( o6 v* Y3 R; C( m注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname;
    0 C0 I0 ]. K! _2 u4、安装\toolbox\compiler\deploy\win32目录下的MCRInstaller。+ z6 l# k0 V& D

    9 ~+ K( S* Q8 v; R8 ~! \1 c5 ?二、脱离matlab运行可执行程序2 b# r( X7 o+ _4 k
    MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下:9 X4 C. c( k) O6 y0 x
    \toolbox\compiler\deploy\win320 U' N( o: I1 C
    文件名为MCRInstaller.exe。可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)。; }9 L4 P! M& i' s' v8 X- T: a1 P5 P
    在MATLAB里运行可执行程序的办法是在前面加一个!,比如:!picshow,后缀名可有可无。5 v) |+ E5 P& _3 {4 l
    在其它没有安装matlab的机器上运行exe文件前:  x& {/ n# n1 W- F
    首先安装matlab的运行环境。在同一机器上可以并存不同版本的matlab环境(换句话说不同版本不兼容)。
    $ c+ ?3 f2 S# k. a1 l其次是要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,通常是自动加载。
    : a0 O# R( m7 s; P' h- Z如果没有,也可手动安装,添加的方法是:
    2 T: S* Y: B" e% d右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。: w' h  k2 [& p, k3 F' B2 Y
    注:在安装过程中会弹出让安装Microsoft.NETFramework可以不用安装。  U& K% m" E5 v
    最后就是将编译生成的相相关文件拷贝到同一目录下,双击即可运行。  D7 |7 o4 r4 j$ ]
    问题:目前此方法可完全运行在没有安装MATLAB以及C/C++的电脑上,但是如果是在AMD的CPU可以运行,但是不会出现任何MATLAB编译的界面。. f( f+ P2 e* e' F: C
    美中不足就是,运行的时候dos的那个黑色地窗口一直存在。下面将实现去除黑屏的办法:
    0 o. m5 Y- g! w4 @( B% Y/ Q& Q' m8 `8 Z. ^
    消除运行MATLAB生成的exe程序的dos黑屏的办法1 O7 u0 _( m  F7 M7 T. P
    基于MATLAB生成exe文件后,每次运行都存在dos黑屏的问题,现在可以通过以下方法解决:% m, [( D, W1 B' [7 F4 W+ s$ V5 s
    方法一: 在命令窗口输入:; r  u/ i! B! [5 L. w+ X
    cd(prefdir)
    2 A8 O  [8 w5 B( Yedit compopts.bat  b+ |2 N- g" k
    在打开的文件最后添加以下语句:$ O$ ?8 l, A4 }9 d% Z

    4 h8 {- d7 l& |5 \# d/ x+ Q( t# IA.VC环境下:
      y5 x( O* I8 ]6 y% a1 a3 Y2 z6 F$ q3 E7 G
    set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup - t' C) }8 g( W+ d8 S! Z3 J( T5 h

    . W/ x) l% h; o/ s. ^( @B.LCC环境下:
    ' w% U% {+ j( P$ {/ H/ Xset LINKFLAGS=%LINKFLAGS% -subsystemwindows + T6 b6 |) `3 f; u" I* {/ I, @
    ) h# N$ T2 u/ A2 t* @4 g
    C. Borland:; v7 l0 X: b5 P1 }" [' A
    set LINKFLAGS=%LINKFLAGS% -aa
      e7 }" O9 v/ ]' Z( B
    # y- x! m$ a! b/ \# K2 r/ w保存以后,再重新编译m文件,生成的exe文件运行起来就没有dos窗口了
    * ^4 E4 p- c0 D& I$ n, ^
    ' a( M* f8 h' Q' y. I4 |方法二:使用suppress工具:
    0 [- p+ Q6 J' ^1 m5 ~下载附件中的suppress压缩包后解压,(当然您可以自己去Google然后再下载)会看到一个suppress.ini文件,用记事本打开,然后将 其中“Name=test.exe”中text.exe的改为你生成的exe文件名。将suppress.exe(有个关盘和显示器的图标),改后的 suppress.ini放到你生成的exe的同目录下。执行suppress.exe或者您自己生成的exe可以了。当然您可以自己修改 suppress.exe的名字,改为您自己想要的名字。
    ) I3 Z% Y% V3 N  u* @$ X& j
    ( l1 D$ O% z, V% B2 `其中的方法一在使用后生成的exe再到没有任何安装MATLAB的机子上运行也不会有黑屏了。8 |1 d9 U4 D' V( v0 O7 V1 R
    方法二的缺点就是要同时存在您生成的exe以及supress.exe,必须在同一目录下。4 v0 H8 A& N! s
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    2

    主题

    6

    听众

    117

    积分

    升级  8.5%

  • TA的每日心情
    开心
    2013-9-18 23:25
  • 签到天数: 53 天

    [LV.5]常住居民I

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组数学建模

    回复

    使用道具 举报

    15

    主题

    10

    听众

    799

    积分

    升级  49.75%

  • TA的每日心情
    开心
    2015-7-17 20:50
  • 签到天数: 68 天

    [LV.6]常住居民II

    自我介绍
    我是一名大二学生。

    群组2013年国赛赛前培训

    回复

    使用道具 举报

    eagle1208 实名认证       

    1

    主题

    4

    听众

    25

    积分

    升级  21.05%

  • TA的每日心情
    开心
    2014-1-10 19:20
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-5-25 00:26 , Processed in 0.598992 second(s), 72 queries .

    回顶部