我目前正在尝试在 JModelica 中编译netCDF-DataReader,但似乎该包是在 Dymola 中开发的。该过程在编译阶段失败:
netCD = compile_fmu('NcDataReader2.Examples.Simple',r'H:\Modelica\Modelica Libraries\NcDataReader2',compiler_log_level= 'w,i:log.txt')
CcodeCompilationError:生成的 C 代码编译失败。
创建的日志文件包含 326 行。中途说
======模型编译成功=======
但是之后有很多错误。一些错误包括:
警告:.drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized collect2.exe: error: ld returned 1 exit status mingw32-make 1 : *** [ceval_] Error 1 Cannot export ??_C@_01LFCBOECM @?4?$AA@: 找不到符号无法导出 ??_C@_01NOFIACDB@w?$AA@: 找不到符号 C:\JModelica.org-2.1\install\Makefiles\MakeFile:190: 目标'fmume10 的配方' 失败的
我在编译器和调试 C 代码方面没有太多经验,我更愿意把时间花在创建模型上;因此,这导致了一些问题:
- 此错误日志中是否存在可以通过使 Dymola 库可用于其他基于 Modelica 的程序(例如 JModelica)的方式来解决的模式?
- 那么是否还有其他可能更适合交叉兼容模型的编译器?
- 我是否在浪费时间试图让 Dymola 模型在 JModelica 中运行?在 JModelica 中单独重新创建模型会更明智吗?缺乏前端界面使这很棘手。