WSLでRustでWindowsで動くバイナリが作れるとなるとDLLも作ってみたくなるのが人間の性ってやつだと思うわけです。参考サイトはこちら。今回も先人のたどった道をなぞる。猿真似?いや「学而時習之。不亦説乎。」ですよ。
まずはlib用のプロジェクトを作る。どんな感じなのかヘルプで調べる
cargo help new
で
cargo new --lib なんたら
ってすればいいらしい。
で、こうして、(今回も例題としてaes128を使うつもりなので、名前がrijndael)
こうなる。exampleとしてaddって関数を作ってくれている。が、これだと公開してくれないらしい。C++で作るときと一緒でextern "C"が必要だったり、マングリング防止のおまじないが必要だったりするらしい。
こうする。で、
前回に倣ってプロジェクトフォルダ内に.cargoフォルダを作って、その中にconfigってファイルを作って、
まぁ、こうする。
で、今回はここだけじゃなくて、Cargo.tomlも編集するらしい。
[lib]
crate-type = ["cdylib"]
を追加する。
で、
cargo build --lib --target x86_64-pc-windows-gnu
で、できたと言っている。
それらしいのがある。これを、WSLのフォルダからWindowsのフォルダに持ち込んで、Dependenciesで確認すると、
とりあえず、できているっぽい。
、、、しんどいので一度中断する。
コメントをお書きください