Fix problem when mex .cpp file

55 views (last 30 days)
Hi all, I have problem when compile mex file.
>> mex GCoptimization.cpp
GCoptimization.cpp
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\intrin.h(26) : fatal error C1083: Cannot open include file: 'ammintrin.h': No such file or directory
C:\PROGRA~1\MATLAB\R2012B\BIN\MEX.PL: Error: Compile of 'GCoptimization.cpp' failed.
Error using mex (line 206) Unable to complete successfully." What is wrong? I have copy all cpp and .h "C:\Users\nambnh\Documents\MATLAB".
[EDITED, code formatted to clarify the line breaks]

Accepted Answer

Friedrich
Friedrich on 17 Oct 2013
Hi,
this is Microsoft Bug see here.
Since I am such a cool guy I attached the header ammintrin.h file which needs to be placed in "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\". Please rename it from ammintrin.m to ammintrin.h because one cannot upload .h files.
I hope that helps.
  15 Comments
Sreeraj a
Sreeraj a on 21 Jun 2017
Thanks !!! That was really Cool
Arunraj anil
Arunraj anil on 21 May 2018

Wonderful job man, You save my Day. Sooper Cool.

Sign in to comment.

More Answers (4)

James Tursa
James Tursa on 16 Oct 2013
Looks like you have spaces in your paths. Rather than passing these arguments to the mex function via the command line "string" approach, try using the function call syntax instead so you can explicitly separate arguments even if they have spaces. And don't put your header .h files in the argument list ... they should already be included in your source code. Also I am not sure why you apparently list the same source file twice.
  1 Comment
Jan
Jan on 16 Oct 2013
@James: After formatting the question, it gets clear, that the source file was not listed twice. Formatting is such useful that I cannot understand, why so many newcomers do not use the power or at least ask how to use it. Is it not usual to read a question after one has posted it?

Sign in to comment.


izem
izem on 16 Sep 2016
Thank you It workssssssssssss

Néstor Rodguez
Néstor Rodguez on 6 Dec 2016
Thank you for all! It's works correctly!

Shubham Pachori
Shubham Pachori on 29 Jun 2017
Edited: Walter Roberson on 29 Jun 2017
Error using mex
gco_matlab.cpp
C:\Users\**\gco-v3.0\matlab\gco_matlab.cpp(8)
: error C2371: 'mwSize' : redefinition; different basic types
c:\program files\matlab\r2016a\extern\include\tmwtypes.h(795) : see
declaration of 'mwSize'
C:\Users\**\gco-v3.0\matlab\gco_matlab.cpp(9)
: error C2371: 'mwIndex' : redefinition; different basic types
c:\program files\matlab\r2016a\extern\include\tmwtypes.h(796) : see
declaration of 'mwIndex'
Error in GCO_BuildLib (line 68)
eval(mexcmd); % compile and link in one step
Error in GCO_UnitTest (line 48)
GCO_BuildLib; disp('BuildLib PASSED');
Hi I am unable to compile gco library in MATLAB2016a in windows. Could someone please help and explain me to get rid of this error?
  2 Comments
Walter Roberson
Walter Roberson on 29 Jun 2017
Looking at those messages, it appears to me that on line 8 of gco_matlab.cpp that it attempts to define mwSize and on line it attempts to define mwIndex, but that those are already defined by the tmwtypes.h header file. If I am correct, then comment out the typedef at lines 8 and 9 of gco_matlab.cpp
khadija portu
khadija portu on 16 Aug 2020
IT IS NOT CLEAR COULD YOU PROVIDE FOR US MORE INFORMATION

Sign in to comment.

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!