LNK1181:无法打开输入文件“m.lib”

Posted

技术标签:

【中文标题】LNK1181:无法打开输入文件“m.lib”【英文标题】:LNK1181: cannot open input file 'm.lib' 【发布时间】:2013-10-20 11:08:08 【问题描述】:

在尝试安装某个 Python 地球物理工具包时,我收到此错误:

LINK : 致命错误 LNK1181: 无法打开输入文件 'm.lib'

我相信这是因为我使用了 MSVC 的构建工具。在他们的setup.py我发现:

setup(…, ext_modules=[ Extension(…, […], libraries=['m'], … ])

我需要在此 setup.py 和相关文件中进行哪些更改?才能使这项工作正常进行。 IIRC 除了m 之外还有一个库可供我使用。

【问题讨论】:

我遇到了类似的问题。虽然我不能肯定地说 gcc 的链接器正在寻找文件 libm.a 如果给出选项 -lm ,而 MSVC 的工具正在寻找不存在的 m.lib 。如果我找到解决方案,我会发布它。 我在用 libopus 编译 ffmpeg 时遇到了同样的问题。我从 MinGW 获取了 libm.a 文件,它有所帮助,但从技术上讲,MinGW 的这个文件是虚拟的。 【参考方案1】:

在 Windows 上,标准数学函数由 MSVCR 处理:

>>> from ctypes.util import find_library
>>> find_library('m')
'msvcr90.dll'

我没有安装 MSVC 来测试,但您只需要链接到运行时。尝试删除'm'

【讨论】:

以上是关于LNK1181:无法打开输入文件“m.lib”的主要内容,如果未能解决你的问题,请参考以下文章

Qt 5.5.1 MSVC 2013,32 位 - LNK1181:无法打开输入文件 'NIDAQmx.lib'

链接:致命错误 LNK1181:无法打开输入文件“libclamav.lib”

链接:致命错误 LNK1181:无法打开输入文件“zz.exe”

LNK1181:无法打开输入文件 'D:\programs\gdcm-2.6.2\qt-build\bin.obj'

错误LNK1181:无法打开输入文件'kernel32.lib'

致命错误 LNK1181:无法打开不是依赖项的输入文件“XXX.lib”