Visual Studio デバッグビルドでlibpngを使う

2015/01/14

http://gnuwin32.sourceforge.net/packages/libpng.htmから libpng のWindows版をダウンロードして、Visual Studioで使おうとしたんですが、デバッグ版がpng_read_info()でアクセス違反でクラッシュしてしまいました。リリース版だと動きます。

0xC0000005: Access violation

どうやらプロジェクト設定 > C/C++ > コード生成 > ランタイムライブラリがMulti-threaded DLLでないとクラッシュするということがわかりましたが、これだとデバッグ版で_Crt~のシンボルが見つからなくてビルドが通らなくなってしまったので、最終的にlibpngを自分でMulti-threaded Debug DLLでビルドして、動くようになりました。

ビルド手順は省きますが、Visual Studioのソリューションもパッケージに含まれているので、zlibのパスを正しく設定すれば、簡単にビルドできました。

libpngとそのバージョンで使われているzlibをダウンロードしてきて、それぞれを並列のディレクトリに展開して、Visual Studioソリューションを開いてビルドすればOKでした。


  このエントリーをはてなブックマークに追加    

<<「ソフトウェア開発」の記事一覧に戻る

関連記事