Matlab 版 (精华区)

发信人: zjliu (Robusting), 信区: Matlab
标  题: compile MEX files in MSVC with MATLAB 6. zz
发信站: 哈工大紫丁香 (Fri Oct 11 19:15:44 2002) , 转信

发信人: fanfan (泛泛), 信区: MathTools
标  题: How do I compile MEX files in MSVC with MATLAB 6.
发信站: 饮水思源 (2002年10月10日23:10:50 星期四), 站内信件

Solution:
To compile a MEX file in MSVC without using Visual MATLAB, please refer to t
he instructions in our documentation at the following URL:
http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/ch01in
17.shtml#24571
To compile MEX files using Visual MATLAB, please refer to the instructions b
elow:
First, make sure you have Visual MATLAB installed. For more information on i
nstalling it, go to MATLAB Compiler Documentation->Help->Using Visual MATLAB
.
After installing it, you can get all the information below by clicking on "A
bout Visual MATLAB" icon in the Visual MATLAB toolbar and going to Creating
Projects:
1. Start Visual C++.
2. From the menu bar, select File / New.
3. Select a Visual MATLAB project type.
4. Select Windows Console EXE as Application Type. Press Finish.
4a. Name the project "firstapp" and place it at the directory C:\FIRSTAPP\.
Click OK.
5. Browse to the %MATLABROOT%\toolbox\matlab\general directory.
6. Select the file first.m and click Open.
7. Visual MATLAB translates the file and generates the project file.
8. After Visual MATLAB is done, its output is displayed in the Visual C++ te
xt window.
9. The project now contains all the required files. Switch to the Files tab
in the workspace view. In firstapp files, you will find the MATLAB M-files a
nd MATLAB C++ files groups.
10. To compile and run the project, press Ctrl-F5.
All source code created is contained within the above groups. The C++ code c
an be used in MFC projects or any other project type supported by Visual C++
. In this case, you will need to provide the main or WinMain routines. For t
he example above, the main module is found in the source file first_main.c.
Visual MATLAB comes with the MATLAB Project Wizard, which helps you create n
ew MEX-file or standalone program project files. To use the MATLAB Project W
izard, select New from the File menu in Visual C++ and select the Projects t
ab in the dialog box that appears. You will then see a list of project types
. Select Visual MATLAB Wizard from the list and type a new project name and
location into the text fields (Visual C++ won't let you proceed without nami
ng your project -- for more help on this, see the Visual C++ documentation).
 Press Next, and the MATLAB Project Wizard appears.
The MATLAB Project Wizard gives you control over three aspects of your proje
ct: the type of project, what kind of main routine the project uses and what
 language the MATLAB Compiler should generate from any M-files in the projec
t. There are four types of projects:
+ Win32 console application: Standalone executable
+ MATLAB M-MEX file: MATLAB MEX-files based on M-files; MEX-files are DLLs t
hat can run only inside of the MATLAB environment.
+ MATLAB C-MEX file: MATLAB MEX-files based on C-files; like M-file MEX file
s, these can run only inside of the MATLAB environment.
+ M-file DLL Library: Collection of M-files packed as a single DLL (please r
efer to the MATLAB Compiler documentation for more details)
Each of these applications has some sort of "main" routine. For a MEX-file,
the main routine is a function called mexGateway. Standalone console applica
tions need to contain a function called main or they won't link successfully
. And Win32 DLLs and Windows applications need a DllMain and WinMain functio
n, respectively. The main routine can either be written by hand, or generate
d by the MATLAB Compiler. The MATLAB Compiler can only generate main routine
s for two types of projects: Win32 Console Applications and MEX files. The M
ATLAB Project Wizard requires that you choose a supported combination of pro
ject type and main function (it won't let you choose Win32 DLL and Generated
 by MATLAB Compiler, for example).
--
※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 202.120.10.97]




--

※ 来源:.哈工大紫丁香 http://bbs.hit.edu.cn [FROM: 202.118.229.86]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.544毫秒