mingw 64
64位theano 一直没有搞成功,很纠结啊。今天早上准备再试试。
按照网上的说的,先down了mingw 64.
按照 http://kingplesk.org/archives/339 说的,配置
首先配置mingw-64bit
下载地址:http://mingw-w64-dgn.googlecode.com/files/mingw-w64-bin-x86_64-20111106.7z
下载后放到D:\Program Files\mingw64
配置环境变量
-
C_INCLUDE_PATH
-
D:\Program Files\mingw64\include;D:\Program Files\mingw64\mingw\include;
-
LIBRARY_PATH
-
D:\Program Files\mingw64\lib;
-
CPLUS_INCLUDE_PATH
-
D:\Program Files\mingw64\include\c++\4.6.3;
-
D:\Program Files\mingw64\include\c++\4.6.3\x86_64-w64-mingw32\bits;
-
D:\Program Files\mingw64\include\c++\4.6.3\backward;
-
D:\Program Files\mingw64\mingw\include;
-
PATH
-
D:\Program Files\mingw64\bin;
注意那个4.6.3要根据实际来,比如我这里是4.7.0
然后出现了g++.exe: CreateProcess: No such file or directory 错误,网上可以搜到解决方法,可是发现
发现down的minggw 解压包里,根本就没有所谓的libexec目录。
于是,有用mingw-get-install 重新按照了mingw32,
发现g++ 变成了4.6.2的版本。然后import theano时候还是有错的。忘记记下来了。悲剧。
也无法重复了,因为,我已经把mingw64和刚安装的mingw合并了。
然后还是g++.exe: CreateProcess: No such file or directory 错误,
path中添加4.6.2的 libexec目录。
出现其他错误
后来,试着从 http://mingw-w64-dgn.googlecode.com/files/mingw-w64-bin-x86_64-20111106.7z down了一个mingw 64 ,有liebexec目录了。。
我靠,开源的东西真是太搞了。这么多版本。这么多不正规的。
记得添加。。\mingw64\libexec\gcc\x86_64-w64-mingw32\4.7.0 到path中。
还没完,有出现了找不到io.h的错误。
可是我已经添加了对应的路径到C_INCLUDE_PATH中了。
复制io.h到python27的include目录下,可以解决这个问题。不过会出现其他的.h文件找不到。。。
所以得换个方式解决。不考虑python。我简单做了个测试文件。加入#include <io.h>也提示同样的错误。
原来是要在CPLUS_INCLUDE_PATH中加入这个目录。
其实,参考文章里是有这个的。功夫不到家的,各种悲剧啊。
测试程序通过了。不过theano的路还长。
新的错误是
g++: fatal error: -fuse.....but liblto-plugin-0.dll not found
这个文件,在libexec下是有的。 不知道怎么办了。
换了个4.6.2的包,成功了。。
http://mingw-w64-dgn.googlecode.com/files/mingw-w64-bin-x86_64-20110828.7z
所有的设置都参照上面的文章。就是版本不一样,一个是4.6.2一个是4.7.0.
纠结了5,6个小时啊
新的问题是
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。
也不显示是那个dll,郁闷了。不过theano还是认为是win32的。不会去读win64的。麻烦啊
http://mingw-w64-dgn.googlecode.com/files/mingw-w64-bin-x86_64-20110828.7z