title: Matlab mex file compilation error -- "SSE2 instruction set not enabled"
body: <p>When compiling a toolbox of mex files within Matlab, I receive the following error:</p>
  
  <pre><code>In file included from /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:9:0,
                   from /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:9:
  /usr/lib/gcc/i686-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
  In file included from /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:9:0:
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:15:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:16:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:17:1: error: ‘__m128i’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:18:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:19:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:20:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:21:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:22:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:23:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:26:1: error: ‘__m128i’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:27:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:28:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:30:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:32:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:33:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:34:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:35:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:36:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:37:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:38:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:39:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:40:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:41:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:42:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:45:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:46:1: error: ‘__m128i’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:47:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:48:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:49:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:52:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:53:1: error: ‘__m128i’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:56:1: error: ‘__m128’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/sse.hpp:57:1: error: ‘__m128i’ does not name a type
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp: In function ‘void convBox(float*, float*, int, int, int, int, int)’:
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:35:67: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:35:68: error: ‘INC’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:36:60: error: ‘LD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:36:61: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:36:75: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:36:76: error: ‘SUB’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:36:77: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:36:77: error: declaration of ‘&lt;typeprefixerror&gt;MUL’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:36:61: error: conflicts with previous declaration ‘&lt;typeprefixerror&gt;MUL’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:36:78: error: ‘STR’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:45:64: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:45:76: error: ‘SUB’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:45:77: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:45:78: error: ‘DEC’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp: In function ‘void conv11Y(float*, float*, int, int, int)’:
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:61:51: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:61:51: error: ‘ADD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:61:74: error: ‘_mm_shuffle_ps’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:61:75: error: ‘STR’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:67:37: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:67:37: error: ‘ADD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:67:45: error: ‘STR’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp: In function ‘void conv11(float*, float*, int, int, int, int, int)’:
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:80:61: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:80:73: error: ‘ADD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:80:74: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:80:76: error: ‘STR’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp: In function ‘void convTri(float*, float*, int, int, int, int, int)’:
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:112:54: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:112:55: error: ‘STR’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:112:56: error: ‘STR’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:112:56: error: declaration of ‘&lt;typeprefixerror&gt;STR’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:112:55: error: conflicts with previous declaration ‘&lt;typeprefixerror&gt;STR’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:113:75: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:113:76: error: ‘INC’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:113:77: error: ‘INC’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:113:77: error: declaration of ‘&lt;typeprefixerror&gt;INC’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:113:76: error: conflicts with previous declaration ‘&lt;typeprefixerror&gt;INC’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:114:61: error: ‘LD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:114:62: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:114:72: error: ‘SUB’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:114:74: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:114:74: error: declaration of ‘&lt;typeprefixerror&gt;MUL’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:114:62: error: conflicts with previous declaration ‘&lt;typeprefixerror&gt;MUL’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:114:75: error: ‘STR’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:115:36: error: ‘STR’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:126:9: error: ‘__m128’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:126:16: error: expected ‘;’ before ‘del’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:127:37: error: ‘del’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:127:40: error: ‘INC’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:127:42: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:127:43: error: ‘INC’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:127:43: error: declaration of ‘&lt;typeprefixerror&gt;INC’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:127:40: error: conflicts with previous declaration ‘&lt;typeprefixerror&gt;INC’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp: In function ‘void convTri1Y(float*, float*, int, float, int)’:
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:143:51: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:143:51: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:143:51: error: ‘ADD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:143:51: error: ‘ADD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:143:51: error: declaration of ‘&lt;typeprefixerror&gt;ADD’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:143:51: error: conflicts with previous declaration ‘&lt;typeprefixerror&gt;ADD’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:143:70: error: ‘_mm_shuffle_ps’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:143:71: error: ‘STR’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:149:35: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:149:35: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:149:35: error: ‘ADD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:149:35: error: ‘ADD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:149:35: error: declaration of ‘&lt;typeprefixerror&gt;ADD’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:149:35: error: conflicts with previous declaration ‘&lt;typeprefixerror&gt;ADD’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:149:42: error: ‘STR’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp: In function ‘void convTri1(float*, float*, int, int, int, float, int)’:
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:163:41: error: ‘LDu’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:163:59: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:163:60: error: ‘ADD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:163:72: error: ‘ADD’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:163:72: error: declaration of ‘&lt;typeprefixerror&gt;ADD’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:163:60: error: conflicts with previous declaration ‘&lt;typeprefixerror&gt;ADD’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:163:73: error: ‘MUL’ was not declared in this scope
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:163:73: error: declaration of ‘&lt;typeprefixerror&gt;MUL’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:163:59: error: conflicts with previous declaration ‘&lt;typeprefixerror&gt;MUL’
  /home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp:163:74: error: ‘STR’ was not declared in this scope
  
      mex: compile of ' "/home/josh/Desktop/Project/code/toolbox/channels/private/convConst.cpp"' failed.
  </code></pre>
  
  <p>What is causing this error and how do I resolve it?</p>
  
  <p>I am running Ubuntu 12.04 with Matlab 7.10.0 R2010a and gcc version 4.6.3-1ubuntu5</p>