我写了一个 Fortran 代码,并把它做成了 TestDLL.dll 和 TestDLL.lib 文件。我想在 OpenModelica 中使用它。但是Modelica说
在以下任何一个中都找不到库 TestDLL:~~~
我将 .dll 和 .lib 文件放入E:\MODELICAEXAM
(我的 modelica 工作空间)或E:\MODELICAEXAM\MyPackage\Resouces
,但它不起作用。
我阅读了描述“注释”的 ModelicaSpec34 文档(12.9.4),但我真的很困惑什么是“modelica://”。
所以我有两个问题:
- 我可以在modelica中使用fortran dll吗?
- 如果第一个问题没问题,我应该把我的 lib 和 dll 文件放在哪里让 modelica 找到这些文件?还是我误解了这个问题?
代码如下
function SUB(a,b)
!DEC$ ATTRIBUTES DLLEXPORT::SUB
implicit none
real :: a,b
real :: SUB
SUB = a+b
return
end
模型部分
model test
function sub
input Real a;
input Real b;
output Real Result;
external "C" Result = sub(a, b);
annotation(
Library = "TestDLL",
LibraryDirectory =
"modelica://MyPackage/Resouces");
end sub;
Real result;
parameter Real a = 1;
parameter Real b = 2;
equation
result = sub(a, b);
end test;!