Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 致命错误C1083:无法打开包含文件:';dlfcn.h';:没有这样的文件或目录PyLPSolve_Python_Python 2.7_Lpsolve - Fatal编程技术网

Python 致命错误C1083:无法打开包含文件:';dlfcn.h';:没有这样的文件或目录PyLPSolve

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 另一方面,你可以利用它,解决你的问题也不难。您之所以收到此消

[关闭]我正在尝试在windows 10上使用Python2.7安装pylpsolve,64位。运行
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上,所以不能说。