2013-10-12 1 views
6

При попытке установить определенный Python геофизического инструментарий, я получаю эту ошибку:LNK1181: не удается открыть входной файл «m.lib»

LINK : fatal error LNK1181: cannot open input file 'm.lib'

Я считаю, что это из-за мое использование в MSVC инструмента сборки в. В их setup.py я нашел:

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

Что мне нужно сделать, чтобы изменить в этом setup.py й связанных файлов -в сделать эту работу?. IIRC есть библиотека, отличная от m, которую я буду использовать.

+0

У меня была аналогичная проблема. Хотя я не могу с уверенностью сказать, что компоновщик gcc ищет файл libm.a, если задан параметр -lm, а инструменты MSVC ищут m.lib, которого не существует. Если я найду решение, я опубликую его. –

+0

У меня была такая же проблема, когда я скомпилировал ffmpeg с libopus. Я взял файл libm.a из MinGW, и это помогло, но технически этот файл от MinGW - это манекен. –

ответ

1

В Windows, стандартные математические функции обрабатываются MSVCR:

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

Я не MSVC установлен, чтобы проверить, но вам просто нужно связать против выполнения. Попробуйте удалить 'm'.