バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回はFMILibraryのビルドが失敗する原因を究明。
WinSDKのoffsetofマクロがC言語時に無効化されているのが原因だった。
とりあえず、自前でoffsetofマクロを定義することで乗り切ることとした。
今回は再度ビルドにチャレンジ。
問題無く通ると良いが・・・。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
FMILibraryのビルド再び
よし!
気を取り直してビルドだー!
ふむ。
どうやらビルドは通ったみたいだな。
C:\FMILibrary-2.0.3\build-fmi>cmake --build . --config MinSizeRel --target install
.NET Framework 向け Microsoft (R) Build Engine バージョン 15.9.21+g9802d43bc3
Copyright (C) Microsoft Corporation.All rights reserved.
Checking Build System
Building Custom Rule C:/FMILibrary-2.0.3/ThirdParty/c99_snprintf/CMakeLists.txt
snprintf.c
/* 省略*/
fmiimport.vcxproj -> C:\FMILibrary-2.0.3\build-fmi\MinSizeRel\fmiimport.lib
Generating fmilib_dummy.c
Building Custom Rule C:/FMILibrary-2.0.3/CMakeLists.txt
fmilib_dummy.c
fmilib.vcxproj -> C:\FMILibrary-2.0.3\build-fmi\MinSizeRel\fmilib.lib
Building Custom Rule C:/FMILibrary-2.0.3/CMakeLists.txt
jm_vector_test.c
ライブラリ C:/FMILibrary-2.0.3/build-fmi/MinSizeRel/jm_vector_test.lib とオブジェクト C:/FMILibrary-2.0.3/build-fmi/MinSizeRel/jm_vector_test.exp を作成中
jm_vector_test.vcxproj -> C:\FMILibrary-2.0.3\build-fmi\MinSizeRel\jm_vector_test.exe
Building Custom Rule C:/FMILibrary-2.0.3/CMakeLists.txt
fmiimport.lib、fmilib.lib、jm_vector_test.exe
ってのが無事ビルドできたって感じかな。
それぞれが何者かは知らないけど。
FMILibraryのインストール
このログに続いてインストールのログが続いているな。
-- Install configuration: "MinSizeRel"
-- Installing: C:/fmilib2/lib/fmilib.lib
-- Installing: C:/fmilib2/lib/fmilib_shared.lib
-- Installing: C:/fmilib2/lib/fmilib_shared.dll
-- Up-to-date: C:/fmilib2/doc/FMILIB_Readme.txt
-- Up-to-date: C:/fmilib2/doc/FMILIB_License.txt
-- Up-to-date: C:/fmilib2/doc/FMILIB_Acknowledgements.txt
-- Installing: C:/fmilib2/include/fmilib_config.h
-- Up-to-date: C:/fmilib2/include/fmilib.h
-- Up-to-date: C:/fmilib2/./include
-- Up-to-date: C:/fmilib2/./include/FMI
-- Up-to-date: C:/fmilib2/./include/FMI/fmi_import_context.h
-- Up-to-date: C:/fmilib2/./include/FMI/fmi_import_util.h
-- Up-to-date: C:/fmilib2/./include/FMI1
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_import.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_import_capabilities.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_import_capi.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_import_convenience.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_import_cosim.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_import_type.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_import_unit.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_import_variable.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_import_variable_list.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_import_vendor_annotations.h
-- Up-to-date: C:/fmilib2/./include/FMI2
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_import.h
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_import_capi.h
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_import_convenience.h
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_import_type.h
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_import_unit.h
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_import_variable.h
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_import_variable_list.h
-- Up-to-date: C:/fmilib2/./include
-- Up-to-date: C:/fmilib2/./include/FMI
-- Up-to-date: C:/fmilib2/./include/FMI/fmi_util.h
-- Up-to-date: C:/fmilib2/./include/FMI/fmi_version.h
-- Up-to-date: C:/fmilib2/./include/FMI1
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_enums.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_functions.h
-- Up-to-date: C:/fmilib2/./include/FMI1/fmi1_types.h
-- Up-to-date: C:/fmilib2/./include/FMI2
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_enums.h
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_functions.h
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_types.h
-- Up-to-date: C:/fmilib2/./include/FMI2/fmi2_xml_callbacks.h
-- Up-to-date: C:/fmilib2/./include/JM
-- Up-to-date: C:/fmilib2/./include/JM/jm_callbacks.h
-- Up-to-date: C:/fmilib2/./include/JM/jm_named_ptr.h
-- Up-to-date: C:/fmilib2/./include/JM/jm_portability.h
-- Up-to-date: C:/fmilib2/./include/JM/jm_stack.h
-- Up-to-date: C:/fmilib2/./include/JM/jm_string_set.h
-- Up-to-date: C:/fmilib2/./include/JM/jm_types.h
-- Up-to-date: C:/fmilib2/./include/JM/jm_vector.h
-- Up-to-date: C:/fmilib2/./include/JM/jm_vector_template.h
-- Up-to-date: C:/fmilib2/include/FMI1
-- Up-to-date: C:/fmilib2/include/FMI1/fmiFunctions.h
-- Up-to-date: C:/fmilib2/include/FMI1/fmiModelFunctions.h
-- Up-to-date: C:/fmilib2/include/FMI1/fmiModelTypes.h
-- Up-to-date: C:/fmilib2/include/FMI1/fmiPlatformTypes.h
-- Up-to-date: C:/fmilib2/include/FMI2
-- Up-to-date: C:/fmilib2/include/FMI2/fmi2Functions.h
-- Up-to-date: C:/fmilib2/include/FMI2/fmi2FunctionTypes.h
-- Up-to-date: C:/fmilib2/include/FMI2/fmi2TypesPlatform.h
C:/fmilib2/以下にライブラリとヘッダファイルがインストールされた感じか。
うん。
ライブラリを使う際はこのディレクトリを参照するようにすれば、使えるはずだよ。
一応、FMILibraryが出来たとこまでは来たけど、
この後は?
実際に使っていくのだと思うのだけど。
そうだね。
FMILibraryビルド時にサンプルプロジェクトも生成されているんで、
それベースで話をしていく感じかな。
ほう。
サンプルプロジェクトがあるのか。
だったら進めやすいかも。
まとめ
まとめだよ。
- 再びFMILibraryのビルドにチャレンジ。
- 今回は無事ビルドが通った。
- ライブラリが生成されたのも確認。
- その後、指定したインストール先にライブラリ及びヘッダファイルが配置された。
- 今回は無事ビルドが通った。
- FMILibraryビルド時にサンプルプロジェクトが生成されているので、今後はこれをベースに話を進める予定。
バックナンバーはこちら。
コメント