我试图从Python 2.7.10 64位Windows版本的源代码编译pycrypto-2.6.1并面临以下错误。
Processing pycrypto-2.6.1.tar.gz
Writing c:\users\sivasuba\appdata\local\temp\easy_install-ecznz_\pycrypto-2.6.1\setup.cfg
Running pycrypto-2.6.1\setup.py -q bdist_egg --dist-dir c:\users\sivasuba\appdata\local\temp\easy_install-ecznz_\pycrypto-2.6.1\egg-dist-tmp-us3gka
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.
winrand.c
LINK : fatal error LNK1104: cannot open file 'python27.lib'
error: Setup script exited with error: command 'C:\\Users\\sivasuba\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\link.exe' failed with exit status 1104
谷歌搜索并没有多大帮助。任何有关这方面的帮助将不胜感激。
P.S。我不是在寻找预先编译的二进制文件。要求是从源头构建它。
答案 0 :(得分:9)
您的链接器似乎找不到python27.lib库。
LIB和LIBPATH是链接器和编译器正在使用的Windows环境变量。
你的计算机上有python27.lib在哪个文件夹中?
请确认LIB环境变量包含python27.lib的路径
如果它没有解决您的问题 - 尝试将python27.lib路径也添加到LIBPATH
答案 1 :(得分:7)
执行以下操作对我有用:
答案 2 :(得分:0)
如果给予, 链接:致命错误LNK1104:无法打开文件' python26.lib'
执行以下操作:
1.右键单击您的项目 - >去属性 - >链接器 - >输入 - >忽视 特定的默认库 - >输入' python26.lib'
希望这会有所帮助! 谢谢。 最好的祝福, Janath Francisco。
答案 3 :(得分:0)
这在这里起作用:
在CMakeLists.txt上添加以下行:
link_directories(C:\\python\\libs)
请注意,我的Python安装位于C:\ python
答案 4 :(得分:0)
最明显的解决方案是将目录添加到链接程序的包含目录:
在VS 2015中,它是项目设置-链接器-常规-其他库目录
您可以直接编辑该行,也可以单击该行末尾的小按钮并通过GUI进行编辑