我目前正在尝试编译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-make 1:*** [ceval_]错误1无法导出 ?? _ C @ _01LFCBOECM @?4?$ AA @:找不到符号无法导出 ?? _ C @ _01NOFIACDB @ w?$ AA @:找不到符号 C:\ JModelica.org-2.1 \ install \ Makefiles \ MakeFile:190:目标配方 ' fmume10'失败
我对编译器和调试C代码没有多少经验,我更愿意把时间花在创建模型上;因此,这导致了许多问题:
答案 0 :(得分:2)
问题是netCDF-DataReader中可用的外部库需要使用JModelica发行版中提供的GCC编译器进行编译。尝试使用GCC重新编译库并将库放在NcDataReader2 \ Resources \ Library \ win32中(或者更好地将它们放在NcDataReader2 \ Resources \ Library \ win32 \ gcc472中)