【NFC/Felica】felicalibをx64でビルドする

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【NFC/Felica】felicalibをx64でビルドする

2024-9-20 | ,

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.rc10行目の#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.dllfelicalib64.dllをC#で出力するexeファイルと同じディレクトリーに配置する。

あとはfelicalib-master\src\CSharp\FelicaLib.csをインポートしたり、参考にしたりなんかして、.NET 8のC#のプロジェクトでfelicalibを利用できるようになる。

まとめ(感想文)

いつのまにかx64に対応しててありがたい!感謝!