- First confirm that 64-bit Visual Studio 2008 and/or SDK 6.1 tools are installed. This version of Visual Studio may not have installed the 64-bit tools.
- Ensure that you can compile a simple 64-bit C program from the Visual Studio IDE and command line (the later using VCVARSALL -- you should have a Start Menu item for this)
- Only then try to bring the Intel compiler into the mix
Problem Starting MEX file
2 次查看(过去 30 天)
显示 更早的评论
Hello,
I'm trying to learn about MEX files for a project where I will have to interface between a fortran code and matlab code.I wanted to start out with the examples for mathworks but can't get past the mex -setup. Please see the following:
>> mex -setup
Welcome to mex -setup. This utility will help you set up
a default compiler. For a list of supported compilers, see
http://www.mathworks.com/support/compilers/R2011b/win64.html
Please choose your compiler for building MEX-files:
Would you like mex to locate installed compilers [y]/n? n
Select a compiler:
[1] Intel C++ 12.0 (with Microsoft Visual C++ 2008 SP1 linker)
[2] Intel C++ 12.0 (with Microsoft Visual C++ 2010 linker)
[3] Intel C++ 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
[4] Intel Visual Fortran 12 (with Microsoft Software Development Kit (SDK) linker)
[5] Intel Visual Fortran 12.0 (with Microsoft Visual C++ 2008 SP1 linker)
[6] Intel Visual Fortran 12.0 (with Microsoft Visual C++ 2008 Shell linker)
[7] Intel Visual Fortran 12.0 (with Microsoft Visual C++ 2010 linker)
[8] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
[9] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 Shell linker)
[10] Microsoft Software Development Kit (SDK) 7.1
[11] Microsoft Visual C++ 2005 SP1
[12] Microsoft Visual C++ 2008 SP1
[13] Microsoft Visual C++ 2010
[14] Microsoft Visual C++ 2010 Express
[0] None
Compiler: 9
Warning: The default location for Intel Visual Fortran compiler is:
"C:\Program Files (x86)\Intel\Compiler\11.1\054\"
but either that directory does not exist or the configuration
is invalid.
Use C:\Program Files (x86)\Intel\Compiler\11.1\054\ anyway [y]/n? n
Please enter the location of your compiler: [C:\Program Files (x86)\Intel\Compiler\11.1\054\] [C:\Program Files (x86)\Intel\Compiler\11.1\038\]
Please verify your choices:
Compiler: Intel Visual Fortran 11.1
Location: [C:\Program Files (x86)\Intel\Compiler\11.1\038\]
Are these correct [y]/n? y
***************************************************************************
Warning: Support for Intel Visual Fortran 11.1 will be discontinued in a
future release, at which time new versions will be supported.
For a list of currently supported compilers see:
http://www.mathworks.com/support/compilers/R2011b/win64.html
***************************************************************************
Error: Microsoft Visual Studio 2008 SP1 Professional Edition was
not found by mex -setup.
The Microsoft Visual Studio 2008 SP1 Professional Edition
linker is required to build Intel Fortran MEX-files. Please
make sure that Microsoft Visual Studio 2008 SP1 Professional
Edition is installed properly.
Error using mex (line 206)
Unable to complete successfully.
I have intel fortran 11.1 compiler and mvs 2008shell. Any help so I can successfully link to the write compiler?
Chris
0 个评论
采纳的回答
Ken Atwell
2012-3-20
MEX is not able to find the 64-bit Visual C++ 2008 tools. I would recommend:
If this sounds too painful, installing .NET 4.0 and then the (free) Microsoft Windows SDK 7.1 should give you the 64-bit tools you need.
3 个评论
Ken Atwell
2012-3-23
To make sure the SDK environment variables gets set, I would log out and log back in (or, better yet, reboot). Then:
In Windows's Start Menu, are you able to open "All Programs" -> "Microsoft Windows SDK v7.1" -> "Windows SDK 7.1 Command Prompt" without error? You should get a Command Windows with the following message (colored yellow):
"Setting SDK environment relative to C:\Program Files\Microsoft SDKs\Windows\v7.1\.
Targeting Windows 7 x64 Debug"
If this work, type "SET" in the Command Window. Among the output should be:
VS100COMNTOOLS=c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
Do you see all of this?
更多回答(5 个)
Jan
2012-3-13
Try answering "y", when the setup is asking "Would you like mex to locate installed compilers". What does appear?
4 个评论
hojjat
2013-5-26
hello
this is error in building mex-file in my pc please help me!
mex -setup
Welcome to mex -setup. This utility will help you set up a default compiler. For a list of supported compilers, see http://www.mathworks.com/support/compilers/R2013a/win32.html
Please choose your compiler for building MEX-files:
Would you like mex to locate installed compilers [y]/n? y
Select a compiler: [1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2013a\sys\lcc [2] Microsoft Software Development Kit (SDK) 7.1 in C:\Program Files\Microsoft Visual Studio 10.0 [3] Microsoft Visual C++ 2010 in C:\Program Files\Microsoft Visual Studio 10.0
[0] None
Compiler: 3
Please verify your choices:
Compiler: Microsoft Visual C++ 2010 Location: C:\Program Files\Microsoft Visual Studio 10.0
Are these correct [y]/n? y
************************************************************************* Warning: MEX-files generated using Microsoft Visual C++ 2010 require that Microsoft Visual Studio 2010 run-time libraries be available on the computer they are run on. If you plan to redistribute your MEX-files to other MATLAB users, be sure that they have the run-time libraries. *************************************************************************
Trying to update options file: C:\Users\eng\AppData\Roaming\MathWorks\MATLAB\R2013a\mexopts.bat From template: C:\PROGRA~1\MATLAB\R2013a\bin\win32\mexopts\msvc100opts.bat
Done . . .
************************************************************************ Warning: The MATLAB C and Fortran API has changed to support MATLAB variables with more than 2^32-1 elements. In the near future you will be required to update your code to utilize the new API. You can find more information about this at: http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html Building with the -largeArrayDims option enables the new API. ************************************************************************
>>
1 个评论
Jan
2013-5-26
@hojjat: 1. There are no error messages, but these are standard warning. Read them, add the required MSVC2010 redistributables when you share the compiled functions with others, use -largeArrayDims to apply 64 bit addressing. Then forget these messages.
2. Do not append a new question to an existing thread. Such thread-highjacking confuses the readers, because it will not be clear, to which question answer belong to. In addition you cannot accept an answer in a foreign thread.
3. As consequence from 1. and 2. I suggest to delete this "answer", because it is none and the question can be answered by "that's ok".
Karuna Mudliyar
2013-10-8
I too faced similar problem
Finally I just uninstalled all the C++2010, C++2008 and C++2005. Then Installed the 7.1 SDK , by unchecking its c++ compiler and the visual studio while installing.
Then i could still see the C++2010 (64 and 86 one), in my control panel installed program list.
I gone ahead with installing the patch.
Then the problem got solved..
Note: While u start ur matlab.. the required c++2005 and c++2008 will get installed automatically.. so no need to worry if u get a command window.
2 个评论
farooq basha
2016-12-1
hi my name is farooq
mex -setup
Welcome to mex -setup. This utility will help you set up a default compiler. For a list of supported compilers, see http://www.mathworks.com/support/compilers/R2013a/win64.html
Please choose your compiler for building MEX-files:
Would you like mex to locate installed compilers [y]/n? y
No supported SDK or compiler was found on this computer. For a list of supported compilers, see http://www.mathworks.com/support/compilers/R2013a/win64.html
Error using mex (line 206) Unable to complete successfully.
>> i have got this type of error plz somebody help me
nyanphyo aung
2015-5-9
I have already the same problem. Windows vista,Matlab 2009b, visual studio 2005
************************************************************************
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the new
API. You can find more information about this at:
http://www.mathworks.com/support/solutions/data/1-5C27B9.html?solution=1-5C27B9
Building with the -largeArrayDims option enables the new API.
************************************************************************
0 个评论
farooq basha
2016-12-1
hi my name is farooq
mex -setup
Welcome to mex -setup. This utility will help you set up a default compiler. For a list of supported compilers, see http://www.mathworks.com/support/compilers/R2013a/win64.html
Please choose your compiler for building MEX-files:
Would you like mex to locate installed compilers [y]/n? y
No supported SDK or compiler was found on this computer. For a list of supported compilers, see http://www.mathworks.com/support/compilers/R2013a/win64.html
Error using mex (line 206) Unable to complete successfully.
>> i have got this type of error plz somebody help me
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Troubleshooting in MATLAB Compiler SDK 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!