title: Intel C++ compiler gives "offload constructs are not supported on this platform" error
body: <p>When compiling a basic code segment on windows (using visual studio) that uses the <code>_Cilk_offload</code> keyword, the compiler throws <code>error : offload constructs are not supported on this platform</code> on all lines with <code>_Cilk_offload</code> and <code>_Cilk_shared</code> (compiled with \Qoffload)</p>
  
  <p>What specifically is the problem with the platform or setup?</p>
  
  <p><strong>EDIT:</strong> Code fails at compile time, and compile machine and target machine are different</p>
  
  <p>Follows is the basic outline of my code</p>
  
  <p>Main.cpp</p>
  
  <pre><code>//other includes
  #include &lt;cilk/cilk.h&gt;
  #include "offload.h"
  #define ITERS 100
  
  int main()
  {
      // code ommitted
      doSetup();
      for(int i=0;i&lt;ITERS;i++)
  //initialize array    {
          doWork();
      }
      // code omitted
  }
  </code></pre>
  
  <p>offload.h</p>
  
  <pre><code>#ifndef OFFLOAD_H
  #define OFFLOAD_H
  
  #define ARRAY_WIDTH 100
  #define ARRAY_HEIGHT 100
  #define ARRAY_SIZE ARRAY_WIDTH*ARRAY_HEIGHT
  
  void doWork();
  void doSetup();
  
  #endif
  </code></pre>
  
  <p>offload.cpp</p>
  
  <pre><code>#include "offload.h"
  #include &lt;cilk/cilk.h&gt;
  
  _Cilk_shared float c=1.1;
  _Cilk_shared float __declspec(align(64)) a[ARRAY_SIZE]
  _Cilk_shared float __declspec(align(64)) b[ARRAY_SIZE]
  void doWork()
  {
      _Cilk_offload cilk_for(int j=0; j&lt;ARRAY_HEIGHT; j++)
      {
          a[j*ARRAY_WIDTH:ARRAY_WIDTH] = c * a[j*ARRAY_WIDTH:ARRAY_WIDTH] + b[j*ARRAY_WIDTH:ARRAY_WIDTH];
      }
  }
  
  void doSetup()
  {
      //array initialization omitted
  }
  </code></pre>