首页 文章

将Modelica模型从Dymola转换为JModelica - 解决日志文件中的错误

提问于
浏览
1

我目前正在尝试在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”'无法识别的collect2.exe:错误:ld返回1退出状态mingw32-make1:*** [ceval_]错误1无法导出?? _ 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中单独重新创建模型会更明智吗?缺乏前端界面使这一点变得棘手 .

1 回答

  • 2

    问题是netCDF-DataReader中可用的外部库需要使用JModelica发行版中提供的GCC编译器进行编译 . 尝试使用GCC重新编译库并将库放在NcDataReader2 \ Resources \ Library \ win32中(或者更好地将它们放在NcDataReader2 \ Resources \ Library \ win32 \ gcc472中)

相关问题