« 追加検討機能:画像読込みのマルチスレッド化 | メイン | マウスカーソル画像の仕様変更に関して »
2013年04月23日
吉里吉里Z 開発:: zlib 1.2.7 を VS2012 で使えるようにビルド
Tweet @jin1016をフォローランタイムライブラリをマルチスレッド、スタティックライブラリでリンク、リンク時の最適化ありで Visual Studio 2012 (C++) でリンクできるように zlib 1.2.7 をビルドするには makefile に少し手を加える必要がある。
そのままビルドすると「モジュールは SAFESEH イメージには安全ではありません。」などと出る。
変更するのは win32/Makefile.msc で、アセンブリを使う形でメイクする場合。
CFLAGS = -nologo -MD -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC)
↓
CFLAGS = -nologo -MT -W3 -O2 -GL -Oy- -Zi -Fd"zlib" $(LOC)
MD を MT に変更して、GL を足す。
デバッグ版は、MTd にする必要がある。
ASFLAGS = -coff -Zi $(LOC)
↓
ASFLAGS = -coff -Zi -safeseh $(LOC)
safeseh を足す。
LDFLAGS = -nologo -debug -incremental:no -opt:ref
↓
LDFLAGS = -nologo -debug -LTCG -incremental:no -opt:ref
LTCG を足す。
ARFLAGS = -nologo
↓
ARFLAGS = -nologo -LTCG
LTCG を足す。
上記修正を加えた後メイクして出来た zlib.lib を使えば問題なくリンクできるようになる。
投稿者 Takenori : 2013年04月23日 22:17
comments powered by Disqus