古い Snes9xで使うライブラリのビルド方法 (zlib, libpng)
2011 年時点の Snes9x 向けの zlib と libpng のビルド手順です。2019 年現在は公式ビルドガイドに沿っていればこういったことを考える必要はありません。
本体のビルドについては、Snes9x のソースコードをコンパイルするをご覧ください。
使用するツールとライブラリ
- Visual Studio 2013 Community Edition
- zlib 1.2.8
- libpng 1.6.17
- snes9xgit (2015-04-19, 1.5.4 interim?)
スタティックライブラリをビルドします。DLLであれば些細なバージョン違いでのエラーは発生しないと思うので、手間なく継続的に開発できるようにするには、DLLとリンクする方が良いかもしれません。
本記事では Snes9x 向けのライブラリをビルドするので、文字コード(MBCS/Unicode 両サポート)周りで通常のビルドとは異なる手順を必要とします。
コンパイル手順
前準備
- zlib と libpng のソースコードをダウンロードして展開する
- libpng/projects/vstudio/zlib.props を開いて、ZLibSrcDir を修正する(相対指定は zlib.vcxproj からの相対位置になる)
- zlib/contrib/masmx86/bld_ml32.bat を開いて、ml のオプションに /safeseh を追加する(/safeseh 追加の参考)
- 修正したらソリューション vstudio.sln を開いて、デフォルト設定のビルドが成功することを確認する
Win32 ビルド
*** 最適化及びデバッグオプションの統一
[Debug Library] [Release Library] のオプションを、zlib, libpng についてそれぞれ変更する。
*** zlib コンパイルの修正
- 「error LNK2001: unresolved external symbol _gzclose」への対策を行う
以上を設定後、libpng プロジェクトをリビルドする。
x64 ビルド
Win32 ビルドの構成を複製するので、ビルド設定を完了後に実施してください。
- メニュー [ビルド]-[構成マネージャー] を開いて、Win32 構成を元に x64 構成を新規作成する
- 出力ファイル名を適宜変更する
以上を設定後、libpng プロジェクトをリビルドする。
Unicode ビルド
その他
ライブラリのビルド以外における留意事項です。
- libpng/scripts/pnglibconf.h.prebuilt を pnglibconf.h にリネームして snes9x の所定ディレクトリに配置する
古い Snes9x のソースコードをコンパイルする
LuaでTwitterにpost!
LuaスクリプトでTwitterにツイートを投稿する手順をお教えします!
半年前に同じ記事を書いたときはBasic認証を利用していましたが、Basic認証は廃止されてしまいました。そこで今回はOAuth認証を行うことにします。
基本的にはignacioさんのLuaOAuthをそのまま利用して実現しています。この場を借りてお礼申し上げます。
OAuth認証して投稿するための手順
OAuth認証と言われてもぴんとこない人もいるかもしれませんが、ある程度Twitterを使っている人なら、下の画像のような「拒否する」「許可する」の画面を一度は見たことがあると思います。
今回、Luaからツイートできるようにするために、事前にこのような認証を完了しておかねばなりません。
本記事でのツイート完了までの大まかな道のりはこんな感じです。
EmuLuaでTwitterるわ!
Basic認証が廃止されてしまったので、以下の内容は現在利用できません。こちらをご覧ください→LuaでTwitterにpost!
LuaでTwitterるわ! という素晴らしい記事がありますので,流用してemutweet.luaのようなスクリプトを書けば,簡単にTwitterに追記回数キリ番記念postとかできちゃいます! おしまい!
……と言いたいところですが,実際の利用にあたってはいくつかのハードルが並んでいるのでちょっとまとめておきます.
続きを読む