【NFC/Felica】felicalibをx64でビルドする
felicalib
のDLLのx64
でビルドしたい!
概要
今回の記事では、Visual Studioでfelicalib
のDLLのx64
でビルドする手順を掲載する。
かなり前にTakuya Murakamiさんのfelicalib
に含まれるC#のコードを使ってNFCを読み取るアプリを作ってたんだけども、ちょっと手直しをする必要が今更でてきたので、手直ししつつ.NET 8とx64
に対応させたいモチベーション。
仕様書
環境
- Visual Studio 2022
- .NET 8
手順書
Takuya Murakamiさんのfelicalibのリポジトリからclone
なり、Zipファイルをダウンロードなりしておく。
C#でfelicalibを使うのに先にC++のライブラリーをビルドしておく必要がある。
ソリューションfelicalib-master\src\FelicaLib.sln
を開く。このソリューションに含まれるfelicalib
がライブラリーのプロジェクトだ。
これをビルドしようとするとエラーRC1015
が発生する。
felicalib.rc: 10: RC1015: cannot open include file 'afxres.h'
felicalib.rc
の10
行目の#include "afxres.h"
をコメントアウトして、次の行に#include <winres.h>
と入力する。下記のような感じ。
//#include "afxres.h"
#include <winres.h>
これでビルドできるようになる。
ビルドするとそれぞれ下記にdllファイルが生成される。
// x86 Debug
felicalib-master\src\Debug\felicalib.dll
// x86 Release
felicalib-master\src\Release\felicalib.dll
// x64 Debug
felicalib-master\src\x64\Debug\felicalib64.dll
// x64 Release
felicalib-master\src\x64\Relese\felicalib64.dll
このfelicalib.dll
とfelicalib64.dll
をC#で出力するexeファイルと同じディレクトリーに配置する。
あとはfelicalib-master\src\CSharp\FelicaLib.cs
をインポートしたり、参考にしたりなんかして、.NET 8のC#のプロジェクトでfelicalibを利用できるようになる。
まとめ(感想文)
いつのまにかx64に対応しててありがたい!感謝!