しらいとブログ

ネットで検索してもなかなか出てこないIT情報を独自にまとめています

「exit code -1073741515」=DLLが見つからない

Windowsプログラミングにおいて、開発環境では問題なく動くプログラムが本番環境で動かない時によくあるのが「exit code -1073741515」です。あるいは16進数の「exit code FFFFFFFFC0000135」だったり、16進数で16bitの「exit code C0000135」だったりします。

これはタイトルの通りDLLが見つからない時のエラーです。見つからないのは大抵コンパイラに付属しているDLLです。開発環境ではコンパイラにパスを通すことが多いため、DLLを用意しなくてもコンパイラのパスからDLLを見つけます。そのため、本番環境で実行して初めて、必要なDLLがあることに気付くのです。当然ですが、このエラーは必要なDLLを一緒に配布すれば解決します。

筆者もC言語C++言語を使う時は気を付けていたのですが、Rust言語でもGCCのDLLが必要だったとは知らずやらかしてしまいました。

ちなみにGCCは-staticを指定すればDLLが不要になります。