将 Modelica 模型从 Dymola 转换为 JModelica - 解决日志文件中的错误
Converting Modelica models from Dymola to JModelica - Addressing Errors in Log File
我目前正在尝试在 JModelica 中编译 netCDF-DataReader,但该包似乎是在 Dymola 中开发的。该过程在编译阶段失败:
netCD = compile_fmu('NcDataReader2.Examples.Simple',r'H:\Modelica\Modelica Libraries\NcDataReader2',compiler_log_level= 'w,i:log.txt')
CcodeCompilationError: Compilation of generated C code failed.
创建的日志文件包含 326 行。中途它说
====== Model compiled successfully =======
但是后面有很多错误。部分错误包括:
Warning: .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" '
unrecognized collect2.exe: error: ld returned 1 exit status
mingw32-make1: *** [ceval_] Error 1 Cannot export
??_C@_01LFCBOECM@?4?$AA@: symbol not found Cannot export
??_C@_01NOFIACDB@w?$AA@: symbol not found
C:\JModelica.org-2.1\install\Makefiles\MakeFile:190: recipe for target
'fmume10' failed
我在编译器和调试 C 代码方面没有太多经验,我更愿意把时间花在创建模型上;因此这导致了一些问题:
- 此错误日志中是否存在可以通过某种方式解决的模式,使 Dymola 库可用于其他基于 Modelica 的程序,例如 JModelica?
- 还有其他编译器可能更适合交叉兼容模型吗?
- 我在 JModelica 中尝试制作 Dymola 模型 运行 是在浪费时间吗?在 JModelica 中单独重新创建模型会更明智吗?缺少前端界面使这变得棘手。
问题是 netCDF-DataReader 中可用的外部库需要使用 JModelica 发行版中可用的 GCC 编译器进行编译。尝试使用 GCC 重新编译库并将库放入 NcDataReader2\Resources\Library\win32(或者最好将它们放入 NcDataReader2\Resources\Library\win32\gcc472)
我目前正在尝试在 JModelica 中编译 netCDF-DataReader,但该包似乎是在 Dymola 中开发的。该过程在编译阶段失败:
netCD = compile_fmu('NcDataReader2.Examples.Simple',r'H:\Modelica\Modelica Libraries\NcDataReader2',compiler_log_level= 'w,i:log.txt')
CcodeCompilationError: Compilation of generated C code failed.
创建的日志文件包含 326 行。中途它说
====== Model compiled successfully =======
但是后面有很多错误。部分错误包括:
Warning: .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized collect2.exe: error: ld returned 1 exit status mingw32-make1: *** [ceval_] Error 1 Cannot export ??_C@_01LFCBOECM@?4?$AA@: symbol not found Cannot export ??_C@_01NOFIACDB@w?$AA@: symbol not found C:\JModelica.org-2.1\install\Makefiles\MakeFile:190: recipe for target 'fmume10' failed
我在编译器和调试 C 代码方面没有太多经验,我更愿意把时间花在创建模型上;因此这导致了一些问题:
- 此错误日志中是否存在可以通过某种方式解决的模式,使 Dymola 库可用于其他基于 Modelica 的程序,例如 JModelica?
- 还有其他编译器可能更适合交叉兼容模型吗?
- 我在 JModelica 中尝试制作 Dymola 模型 运行 是在浪费时间吗?在 JModelica 中单独重新创建模型会更明智吗?缺少前端界面使这变得棘手。
问题是 netCDF-DataReader 中可用的外部库需要使用 JModelica 发行版中可用的 GCC 编译器进行编译。尝试使用 GCC 重新编译库并将库放入 NcDataReader2\Resources\Library\win32(或者最好将它们放入 NcDataReader2\Resources\Library\win32\gcc472)