【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に対応しててありがたい!感謝!
