Не удалось найти DLL (построена с использованием VS 2015) в modelica - PullRequest
1 голос
/ 18 апреля 2020

Я написал простую функцию добавления и сделал из нее DLL в Visual Studio 2015. Не обращайте внимания на возвращение int, в этом не было необходимости, я просто что-то пробовал.

#  define CLINKAGE extern "C"
#  define STDCALL __stdcall
#  define DLLFUNC __declspec(dllexport)
CLINKAGE
DLLFUNC int STDCALL ADD(int a, int b, int *c)
{
    *c = a + b;
    return *c;
}

Когда я получаю доступ та же функция в modelica, что и ниже, компилируется, но выдает ошибку во время работы.

function ADD
    input Integer a;
    input Integer b;
    output Integer c;

    external "C" ADD(a,b,c) annotation (
      Library = "GSE",
      Include = {"#include \"GSE\\GSE.h\"", "#include <stdlib.h>"},
      IncludeDirectory = "modelica://CrtVehicle/Resources/Include/GSE",
      LibraryDirectory = "modelica://CrtVehicle/Resources/Library/GSE");   

  end ADD;

Ошибка говорит: сбой процесса. Выход с кодом -1073741515.

DLL и Lib помещаются в папку GSE по указанному выше пути. Я также попытался включить папку win64 между ними, но она выдавала ту же ошибку.

Единственный способ, которым симуляция работает, если я помещаю DLL и lib в рабочий каталог. Я не могу сделать это по другим причинам. Как я могу решить эту проблему?

Заранее спасибо.

...