Fix problem when mex .cpp file

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]

 采纳的回答

Friedrich
Friedrich 2013-10-17

20 个投票

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 个评论

Thanks man!!!Very Good Job!!!
thank you!!!!!!
I dont have that file. Have checked properly. Please help.
you are awesome...!!
i don't have that file,how can i fix it
Above, between Friedrich's Answer and the start of the Comments there is "ammintrin.m". That is a link. You can use your browser to save the content of the link to a file.
If I try to copy paste the file into the folder it doesn't let you do that in Windows 7..The whole directory crashes.
Could you explain more what it means for a directory to crash?
Thank you so much! This was extremely helpful!
Thanks a lot. Its really cool fix
Thank you so much!
Thanks !!! That was really Cool

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

请先登录,再进行评论。

更多回答(4 个)

James Tursa
James Tursa 2013-10-16

0 个投票

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 个评论

@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?

请先登录,再进行评论。

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 个评论

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
IT IS NOT CLEAR COULD YOU PROVIDE FOR US MORE INFORMATION

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 MATLAB Compiler 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by