title: Cython Hello World Example works on Anacondas Python 3.3, but not 3.4
body: <p>I am using Anacondas on a 64-bit Windows machine.</p>
  
  <p>I have compiled a hello world Cython example. It is in file hello.pyx, and contains:</p>
  
  <pre><code>def say_hello_to(name):
      print("Hello %s!" % name)
  </code></pre>
  
  <p>I am running it using run_hello.py</p>
  
  <pre><code>import pyximport; pyximport.install()
  import hello as hello
  
  hello.say_hello_to('jon')
  </code></pre>
  
  <p>The setup file is setup.py:</p>
  
  <pre><code>from distutils.core import setup
  from Cython.Build import cythonize
  
  setup(
    name = 'Hello world app',
    ext_modules = cythonize("hello.pyx"),
  )
  </code></pre>
  
  <p>I am then compiling the code in Python 3.3 on Anacondas, using this code:</p>
  
  <pre><code>&gt; activate py33
  &gt; python setup.py build_ext --inplace
  </code></pre>
  
  <p>( please note that py33 is my Python 3.3 environment )</p>
  
  <p>I can then run the example:</p>
  
  <pre><code>python run_hello.py
  </code></pre>
  
  <p>which prints out "Hello jon!" as expected.</p>
  
  <p>Now if I change my environment to Python 3.4 and compile:</p>
  
  <pre><code>&gt; activate py34
  &gt; python setup.py build_ext --inplace
  </code></pre>
  
  <p>I get no error, and the shell displays</p>
  
  <pre><code>running build_ext
  </code></pre>
  
  <p>However, if I try to run run_hello.py from the py34 environment with:</p>
  
  <pre><code>python run_hello.py
  </code></pre>
  
  <p>I get:</p>
  
  <pre><code>Traceback (most recent call last):
    File "run_hello.py", line 2, in &lt;module&gt;
      import hello as hello
  ImportError: DLL load failed: The specified module could not be found.
  </code></pre>
  
  <p>The error is not very descriptive. What could I do to help me make this work on Python 3.4?</p>
  
  <hr>
  
  <p>If I delete hello.c and the /build folder from my hard drive, trying to compile from Python 3.4 returns:</p>
  
  <pre><code>Compiling hello.pyx because it changed.
  Cythonizing hello.pyx
  running build_ext
  building 'hello' extension
  creating build
  creating build\temp.win-amd64-3.4
  creating build\temp.win-amd64-3.4\Release
  C:\Anaconda\envs\py34\Scripts\gcc.bat -mdll -O -Wall -IC:\Anaconda\envs\py34\include -IC:\Anaconda\envs\py34\include -c hello.c -o build\temp.win-amd64-3.4\Release\hello.o
  writing build\temp.win-amd64-3.4\Release\hello.def
  C:\Anaconda\envs\py34\Scripts\gcc.bat -shared -s build\temp.win-amd64-3.4\Release\hello.o build\temp.win-amd64-3.4\Release\hello.def -LC:\Anaconda\envs\py34\libs -LC:\Anaconda\envs\py34\PCbuild\amd64
  -lpython34 -lmsvcr100 -o c:\Users\Jon\Documents\GitHub\CythonFunctions\example1\hello.pyd
  build\temp.win-amd64-3.4\Release\hello.o:hello.c:(.text+0x314): undefined reference to `__imp__PyThreadState_Current'
  build\temp.win-amd64-3.4\Release\hello.o:hello.c:(.text+0x493): undefined reference to `__imp__Py_NoneStruct'
  build\temp.win-amd64-3.4\Release\hello.o:hello.c:(.text+0x97b): undefined reference to `__imp_PyExc_ImportError'
  collect2.exe: error: ld returned 1 exit status
  error: command 'C:\\Anaconda\\envs\\py34\\Scripts\\gcc.bat' failed with exit status 1
  </code></pre>
  
  <p>If I do the same with Python 3.3, I get:</p>
  
  <pre><code>Compiling hello.pyx because it changed.
  Cythonizing hello.pyx
  running build_ext
  building 'hello' extension
  creating build
  creating build\temp.win-amd64-3.3
  creating build\temp.win-amd64-3.3\Release
  C:\Anaconda\envs\py33\Scripts\gcc.bat -DMS_WIN64 -mdll -O -Wall -IC:\Anaconda\envs\py33\include -IC:\Anaconda\envs\py33\include -c hello.c -o build\temp.win-amd64-3.3\Release\hello.o
  writing build\temp.win-amd64-3.3\Release\hello.def
  C:\Anaconda\envs\py33\Scripts\gcc.bat -DMS_WIN64 -shared -s build\temp.win-amd64-3.3\Release\hello.o build\temp.win-amd64-3.3\Release\hello.def -LC:\Anaconda\envs\py33\libs -LC:\Anaconda\envs\py33\PCb
  uild\amd64 -lpython33 -lmsvcr100 -o c:\Users\Jon\Documents\GitHub\CythonFunctions\example1\hello.pyd
  </code></pre>
  
  <p>Some other users who experience the "gcc.bat failed with exit status 1" have found that the problem is due to 32/64 bit conflicts.</p>
  
  <p>In the py33 version of the compilation data, there is -DMS_WIN64 in the gcc.bat parameters, but it is not in the py34 parameters. Could that be what is causing my issue? If so, how do I get py34 to add it?</p>