Python 致命错误C1083:无法打开包含文件:';dlfcn.h';:没有这样的文件或目录PyLPSolve
[关闭]我正在尝试在windows 10上使用Python2.7安装pylpsolve,64位。运行Python 致命错误C1083:无法打开包含文件:';dlfcn.h';:没有这样的文件或目录PyLPSolve,python,python-2.7,lpsolve,Python,Python 2.7,Lpsolve,[关闭]我正在尝试在windows 10上使用Python2.7安装pylpsolve,64位。运行python setup.py install时,出现以下错误:致命错误C1083:无法打开包含文件:“dlfcn.h”:没有此类文件或目录。 我在网上搜索过(特别是和),但找不到解决方案。我希望你能帮助我。首先,你应该注意到pylpsolve似乎已经死了。它不支持Windows,似乎有很多未完成的拉取请求,在我的测试中似乎有一些bug 另一方面,你可以利用它,解决你的问题也不难。您之所以收到此消
python setup.py install
时,出现以下错误:致命错误C1083:无法打开包含文件:“dlfcn.h”:没有此类文件或目录
。
我在网上搜索过(特别是和),但找不到解决方案。我希望你能帮助我。首先,你应该注意到
pylpsolve
似乎已经死了。它不支持Windows,似乎有很多未完成的拉取请求,在我的测试中似乎有一些bug
另一方面,你可以利用它,解决你的问题也不难。您之所以收到此消息,是因为setup.py
实际上是在重新编译lpsolve
,在此过程中,它是在linux而不是Windows上执行的。setup.py
可能会像在linux上一样正常工作,但在windows上,您需要做一些更改
我认为关键的更改是将这些值添加到setup.py中的编译器参数中:
"-D_WINDLL", "-DWIN32"
在我的setup.py
中,我使用以下几行代码成功编译了一次
lpsolve_base = 'lp_solve_5.5'
compiler_args = ["/Gz", "/Zp8", "-D_WINDLL", "-DWIN32", "-D_CRT_SECURE_NO_DEPRECATE",
"-D_CRT_NONSTDC_NO_DEPRECATE", "-DYY_NEVER_INTERACTIVE", "-DPARSER_LP",
"-DINVERSE_ACTIVE=INVERSE_LUSOL", "-DRoleIsExternalInvEngine"]
extensions = [
Extension("pylpsolve",
include_dirs = [os.path.join(lpsolve_base, d) for d in ['.',
'shared', 'bfp', 'bfp/bfp_LUSOL', 'bfp/bfp_LUSOL/LUSOL',
'colamd']] + [numpy.get_include()],
sources = ["pylpsolve.pyx"] + [os.path.join(lpsolve_base, f) for f in
['lp_MDO.c', 'shared/commonlib.c', 'shared/mmio.c', 'shared/myblas.c',
'ini.c', 'fortify.c', 'colamd/colamd.c', 'lp_rlp.c', 'lp_crash.c',
'bfp/bfp_LUSOL/lp_LUSOL.c', 'bfp/bfp_LUSOL/LUSOL/lusol.c', 'lp_Hash.c',
'lp_lib.c', 'lp_wlp.c', 'lp_matrix.c', 'lp_mipbb.c', 'lp_MPS.c', 'lp_params.c',
'lp_presolve.c', 'lp_price.c', 'lp_pricePSE.c', 'lp_report.c', 'lp_scale.c',
'lp_simplex.c', 'lp_SOS.c', 'lp_utils.c', 'yacc_read.c']],
extra_compile_args = compiler_args + ['/EHsc']
)
]
setup(
name = 'pylpsolve',
ext_modules = cythonize(extensions),
)
一个简单的谷歌搜索出现了。这就是你要找的吗?是的,但我不知道dlfcn.h文件粘贴在哪里。当你编译repo时,它会被正确安装。对不起,我不在Windows上,所以不能说。