Skip to content

Instantly share code, notes, and snippets.

@namuyan
Last active January 29, 2020 15:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save namuyan/90dcc40c1359d62ee901a2972ea1f85b to your computer and use it in GitHub Desktop.
Save namuyan/90dcc40c1359d62ee901a2972ea1f85b to your computer and use it in GitHub Desktop.
VCをインストールしてもmsvcr140.dllが見つからない

ld.exe: cannot find -lmsvcr140の対処

VCをインストールしてもmsvcr140.dllが見つからない

Warning! その場しのぎのやり方 読み込むDLLのバージョンを下げます。

やり方

  1. テキストエディタで読み込む Lib\distutils\cygwinccompiler.py
  2. function get_msvcr()にて使用するDLL名を返すので編集します。
  3. C:\Windows\System32で検索するmsvcr*.dll
    4. 例えば['msvcr140']['msvcr120']に変更しVS2013のDLLを代わりに用いる。
  4. ['msvcr140']['ucrtbase']に変える事が正しい。

note

distutilsは結構いい加減な作りでコード見ればVS2013の分岐が無いことに気付くはず。 Python3.6のコードをいじっていた時はMSC1900までしか対応しておらず例外を起こしていたのを思い出した。 これは互換性を保ちながらDLLのバージョンを上げている事によると思われるので古いDLLにない新機能を使っていたら落ちる。

メモ代わり

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment