バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回、C言語からのFMU/FMI制御するライブラリとして
FMILibraryというものが存在することが分かった。
しかし、ビルド済みのものはwin32版のみ。
欲しいのはwin64版。
よって、win64版をソースコードからビルドする必要がある。
というわけで、
今回からは、ビルド環境、ソースコードの在り処などを確認。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
FMILibraryのビルド環境
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
まずはビルド環境か・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
まぁこれは恒例の・・・。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
Visual Studio 2017 expressか?!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/まるフクロウ.png)
正解!
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
他の件でも使ってるからすでにインストールはされてるけど、
ここから持ってくるってことでいいんだよね?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうそう。
cmake
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
あとはcmakeも必要になると思う。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
cmake?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
Wikipediaから引用しよう。
CMakeは、コンパイラに依存しないビルド自動化のためのフリーソフトウェアであり、様々なオペレーティングシステムで動作させることができる。CMakeは階層化ディレクトリや複数のライブラリを利用するアプリケーションをサポートするよう設計されている。実際のビルドにおいては、make、Xcode、Visual Studioのようなネイティブのビルド環境が利用される。CMake自身は最小限の依存関係を持つよう設計されており、ビルドするにはC++コンパイラのみを必要とする。
Wikipediaより(https://ja.wikipedia.org/wiki/CMake)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
ようわからんが、いわゆるmakefileに合わせてビルドをやってくれるツールってことかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
ここではその理解でOKだ。
特に今回、cmakeに対してどうこうする予定は無いし。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
ちなみにcmakeはここから入手できる。
FMILibraryのソースコード
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
ソースコードは、前回教えてもらったここから持って来れば良いのかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
そこでもいいけど、Githubにも上がってるね。
まぁ好きな方を選んで良いと思う。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
Githubの方が良さそうとは思ったけど、
微妙なversion依存とかあるとトレースしにくくなるから、
FMILibrary-2.0.3-src.zip
っての使おうかな。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
次回は実際にビルドをしてみよう。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- FMILibraryのビルド環境準備。
- Visual Studio 2017 express。
- cmake。
- コンパイラ非依存なビルド自動化ツール。
- FMILibraryのソースコード。
- zipアーカイブかGithubで入手できる。
- 今回はFMILibrary-2.0.3-src.zipを使用。
バックナンバーはこちら。
コメント