「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が不要になります。
(2015年)最新のMinGW(GCC)のダウンロード
MinGWの公式サイト(のsourceforge)で配布されているGCCは、2013年に公開された4.8.1で更新が止まっています。
最新バージョンはMinGW-w64(のsourceforge)からダウンロードできます。(64bit版だけでなく、32bit版も配布しています。)
例えば4.8.5が欲しい時は次のように辿ってください。
Toolchains targetting Win32 / Personal Builds / mingw-builds / 4.8.5 / threads-win32 / dwarf
MinGWの公式サイトで配布されていたものもwin32-dwarf版でした。ダウンロードが終わったら7zを解凍できるツールで解凍してください。あとはパスを通すだけで使えます。
ちなみにGCC単体でよければtdm-gccというものもあります。しかしながらGCC単体だとうまく動かないケースがほとんどだと思います。
WindowsでRacerのビルド(コンパイル)
2015/07/13 18:25
通常のビルドだと別途DLLが必要になることが発覚したためやり方を変えました。
RacerはRust言語の自動補完ツールです。(RACER = Rust Auto-Complete-er)
今のところRust言語の自動補完ツールはこのRacerしか無いようなので、エディタやIDEなどで自動補完を使うのであれば、このRacerを導入する必要があります。
このRacerの導入方法なのですが、現時点ではソースコード(プロジェクトファイル一式)での配布となっているので、自分でビルドしなければいけません。初心者には難しいかもしれません。
そこで、初心者向けのRacerのビルド方法をここに書いておきます。
続きを読む