ссылки на библиотеки C ++ для Modelica

Я пытаюсь использовать библиотеку C ++ в Modelica. Компиляторы Modelica генерируют c из источника Modelica и затем вызывают компилятор c для создания исполняемого файла. Modelica предоставляет механизм для вызова функций c. Я создал обертку:

//myWrapper.cpp
#include "headers_of_cpp_library.h"
extern "C" double call_a_cpp_fn(double a, double b){
return cpp_fn(a,b);
}

Внешний код C либо динамически связан с исполняемым файлом Modelica, либо, если код является чистым c, он может быть скомпилирован прямо сгенерированным c. Единственный вариант, который у меня есть, — это пойти по динамическому маршруту. Вот Makefile для сборки библиотеки C ++

all: myWrapper.cpp
clang++ -fPIC -shared -LaCppLib -o libmywrappedcpp.so myWrapper.cpp

Когда я запускаю компилятор Modelica, я получаю некоторые ошибки ссылок, связанные с тем, что существуют библиотеки c ++, которые должны быть динамически связаны.

undefined reference to symbol '__cxa_free_exception@@CXXABI_1.3'

Есть ли способ собрать libmywrappedcpp.so, чтобы компилятор c, вызываемый системой Modelica, не пытался связать c ++?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]