-
-
Save xtne6f/f9b6f19c10cd146fe580 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DLLを自分でビルドしたい人向けのメモ(2023-05-02) | |
・あらかじめEDCBのビルド環境(VisualStudioまたはMSYS2)を整えていることが前提 | |
・備忘録みたいなものであまり丁寧な説明ではない | |
[BonDriver_UDP.dll/BonDriver_TCP.dll] | |
ソースコードが https://www.axfc.net/u/3753613 にある(2ch_EDCB/54/376より) | |
[OpenSSL(VisualStudioでビルド)] | |
(各ソースファイルは各々の公式サイトから適宜新しいバージョンを用意すること) | |
1.strawberry-perl-5.32.1.1-32bit-portable.zipを展開してc:\perlに置く | |
2.nasm-2.16.01-win32.zipからnasm.exeを取り出してC:\perl\perl\binに置く(または任意のどこかに置いてパスを通す) | |
3.スタートメニューの"Visual Studio 2017"→(x86ビルド)"開発者コマンド プロンプト for VS 2017"を起動 | |
(x64ビルド)"VS 2017 用 x86_x64 Cross Tools コマンド プロンプト"を起動 | |
4.openssl-3.0.8.tar.gzを展開したフォルダにcdして以下を実行 | |
>set PATH=%PATH%;c:\perl\perl\bin | |
(x86ビルド)>perl Configure VC-WIN32 --prefix=c:/openssl-3 --openssldir=c:/openssl-3/ssl | |
(x64ビルド)>perl Configure VC-WIN64A --prefix=c:/openssl-3 --openssldir=c:/openssl-3/ssl | |
>nmake | |
>nmake test ←ビルド結果の検証 | |
>nmake install | |
5.c:\openssl-3\bin にopenssl.exeとlibssl-3(-x64).dllとlibcrypto-3(-x64).dllができる | |
[OpenSSL(MSYS2でビルド)] | |
(各ソースファイルは各々の公式サイトから適宜新しいバージョンを用意すること) | |
1.スタートメニュー→(x86ビルド)"MSYS2 MINGW32"を起動 | |
(x64ビルド)"MSYS2 MINGW64"を起動 | |
2.makeとgccをインストール | |
(x86ビルド)$ pacman -S make mingw-w64-i686-gcc | |
(x64ビルド)$ pacman -S make mingw-w64-x86_64-gcc | |
3.ビルド | |
$ tar -xf openssl-3.0.8.tar.gz | |
$ cd openssl-3.0.8 | |
(x86ビルド)$ ./Configure mingw --prefix=/c/openssl-3 --openssldir=/c/openssl-3/ssl | |
(x64ビルド)$ ./Configure mingw64 --prefix=/c/openssl-3 --openssldir=/c/openssl-3/ssl | |
$ make | |
$ make test ←ビルド結果の検証 | |
$ make install | |
4.c:\openssl-3\bin にopenssl.exeとlibssl-3(-x64).dllとlibcrypto-3(-x64).dllができる | |
[Luaモジュール(LuaFileSystemの例)] | |
1.LuaFileSystemのGitHubからluafilesystem-v_1_6_3.zipをダウンロードして展開 | |
2.VisualStudioの新しいプロジェクト→Visual C++→空のプロジェクトを選んでプロジェクト名をlfsとする | |
3.次のファイルをlfsプロジェクトのフォルダに移動(.cはソリューションエクスプローラのツリーにも加える) | |
lfs.c lfs.h lfs.def | |
※lfs.defの"VERSION 1.5.0"は"1.5"に変更: https://github.com/keplerproject/luafilesystem/pull/50 | |
4.lauxlib.h lua.h luaconf.h lualib.h lua52.libをプロジェクトのフォルダにコピー | |
(ただのインポートライブラリなのでLuaBinariesのバイナリについてくる奴でもいい) | |
5.プロジェクトのプロパティを次のように変更 | |
全般→構成の種類: ダイナミックライブラリ | |
全般→文字セット: マルチバイト文字セットを使用する | |
C/C++→追加のインクルードディレクトリ: . (←ピリオド1つ) | |
C/C++→プリプロセッサの定義に追加: _CRT_SECURE_NO_WARNINGS | |
リンカー→追加の依存ファイルに追加: lua52.lib | |
リンカー→モジュール定義ファイル: lfs.def | |
6.Releaseでビルド | |
7.lfs.dllをlua52.dllと同じ場所に置いて次のようなLuaスクリプトでカレントディレクトリが取れたら成功 | |
require("lfs") | |
lfs.currentdir() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment