File Exchange

image thumbnail

MS Visual Studio property sheet for building MEX function

version 1.2.0.0 (1.5 KB) by Kesh Ikuma
Using Property Sheet to make VS project configuration easy

2 Downloads

Updated 24 Oct 2012

View Version History

View License

Note: This solution works to develop MEX functions with Visual Studio 2012 (which is not supported by 'mex' prior to 2013A release)

As outlined by Mathworks (http://www.mathworks.com/help/matlab/matlab_external/custom-building-mex-files.html#f24571) MEX functions can be developed in Visual Studio (or Visual C++). Setting up a VS project for each and every MEX function (and maintaining the projects' integrity over biyearly MATLAB updates) quickly becomes cumbersome. Visual Studio's Property Sheet feature gives us an easy way to keep all MEX project settings in one place.

Matlab_Mex_Build.props contains all the configurations necessary to make a DLL project into MEX project. Follow "How to create a MEX project in VS" below for the usage, and read "How to change MATLAB paths" below to set newly created macro "MatlabExternDir".

How to create a new MEX project in VS:
1. Create an empty C++ Win32 DLL project.
2. Go to Property Manager (accessible from View menu or behind Solution Explorer tab)
3. Right click on the created project name, click on "Add Existing Property Sheet...". In the dialog window, choose the downloaded and unzipped "Matlab_Mex_Build.props"
4. Add a source code file to the project and begin programming!

How to change MATLAB paths:
1. Open "Matlab_Mex_Build.props" in a text editor (recommend VS as it gives you XML color coding)
2. Look for <MatlabExternDir>. There are 2 in the file: one for Win32 and another for x64. Modify the applicable MatlabExternDir according to the installed Matlab version (or both if you have both 32- and 64-bit versions of MATLAB installed)

Cite As

Kesh Ikuma (2020). MS Visual Studio property sheet for building MEX function (https://www.mathworks.com/matlabcentral/fileexchange/38720-ms-visual-studio-property-sheet-for-building-mex-function), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (3)

Arash Salarian

Kesh Ikuma

@Hamid - I cannot help you with the earlier VS property sheet format (.vsprops) as I have never dealt with it myself. My best suggestion is to create a new property sheet, set a few compiler and linker options and see if you can determine the difference between vsprops and props format. Both formats are in XML, so you can view them in a text editor. Good luck.

Hamid Ramezani

Hello,

I have VS2008. It only recognise *.vsprops. Howevere, When I try to add "Matlab_Mex_Build.props" a window pops up which says it cannot add property sheet. Could you please help me.

Regards,
Hamid.

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!